Advertisement
obernardovieira

Library with books [Classes&Array training]

Jan 16th, 2017
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.04 KB | None | 0 0
  1. ## livro.rb
  2.  
  3. class Livro
  4.   def initialize(titulo, autor, categoria, ano)
  5.     @titulo = titulo
  6.     @autor = autor
  7.     @categoria = categoria
  8.     @ano = ano
  9.   end
  10.  
  11.   def obterTitulo()
  12.     return @titulo
  13.   end
  14.  
  15.   def obterAutor()
  16.     return @autor
  17.   end
  18.  
  19.   def obterCategoria()
  20.     return @categoria
  21.   end
  22.  
  23.   def obterAno()
  24.     return @ano
  25.   end
  26. end
  27.  
  28.  
  29.  
  30.  
  31. ## programcao.rb
  32.  
  33. class Programacao < Livro
  34.   def initialize(titulo, autor, categoria, ano, linguagem)
  35.     @titulo = titulo
  36.     @autor = autor
  37.     @categoria = categoria
  38.     @ano = ano
  39.     @linguagem = linguagem
  40.   end
  41.  
  42.   def obterLinguagem()
  43.     return @linguagem
  44.   end
  45. end
  46.  
  47.  
  48.  
  49. ## moda.rb
  50.  
  51. class Moda < Livro
  52.   def initialize(titulo, autor, categoria, ano, estacao, sexo)
  53.     @titulo = titulo
  54.     @autor = autor
  55.     @categoria = categoria
  56.     @ano = ano
  57.     #
  58.     @estacao = estacao
  59.     @sexo = sexo
  60.   end
  61.  
  62.   def obterEstacao()
  63.     return @estacao
  64.   end
  65.  
  66.   def obterSexo()
  67.     return @sexo
  68.   end
  69. end
  70.  
  71.  
  72.  
  73.  
  74. ## biblioteca.rb
  75.  
  76. class Biblioteca
  77.   def initialize()
  78.     @livros = Array.new
  79.   end
  80.  
  81.   def adicionarLivro(livro)
  82.     @livros.push(livro)
  83.   end
  84.  
  85.   def removerLivro(titulo)
  86.     l_index = @livros.find_index { |livro| livro.obterTitulo.eql? titulo }
  87.     @livros.delete_at(l_index)
  88.   end
  89.  
  90.   def procurarLivro(titulo)
  91.     return @livros.find { |livro| livro.obterTitulo.eql? titulo }
  92.   end
  93.  
  94.   def totalLivros()
  95.     return @livros.size
  96.   end
  97. end
  98.  
  99.  
  100.  
  101.  
  102. ## main.rb
  103.  
  104. require_relative 'livro'
  105. require_relative 'programacao'
  106. require_relative 'moda'
  107. require_relative 'biblioteca'
  108.  
  109. biblioteca = Biblioteca.new
  110.  
  111. livro_programacao = Programacao.new("Aprende Ruby", "Joao", "TI", 2016, "Ruby")
  112. livro_moda = Moda.new("SexAmil", "Nelo", "+18", 2012, "OutonoInverno", "Misto")
  113.  
  114. biblioteca.adicionarLivro(livro_programacao)
  115. biblioteca.adicionarLivro(livro_moda)
  116.  
  117. puts biblioteca.totalLivros
  118. biblioteca.removerLivro("Aprende Ruby")
  119. puts biblioteca.totalLivros
  120. search_livro = biblioteca.procurarLivro("SexAmil")
  121. puts search_livro.obterAutor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement