Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## livro.rb
- class Livro
- def initialize(titulo, autor, categoria, ano)
- @titulo = titulo
- @autor = autor
- @categoria = categoria
- @ano = ano
- end
- def obterTitulo()
- return @titulo
- end
- def obterAutor()
- return @autor
- end
- def obterCategoria()
- return @categoria
- end
- def obterAno()
- return @ano
- end
- end
- ## programcao.rb
- class Programacao < Livro
- def initialize(titulo, autor, categoria, ano, linguagem)
- @titulo = titulo
- @autor = autor
- @categoria = categoria
- @ano = ano
- @linguagem = linguagem
- end
- def obterLinguagem()
- return @linguagem
- end
- end
- ## moda.rb
- class Moda < Livro
- def initialize(titulo, autor, categoria, ano, estacao, sexo)
- @titulo = titulo
- @autor = autor
- @categoria = categoria
- @ano = ano
- #
- @estacao = estacao
- @sexo = sexo
- end
- def obterEstacao()
- return @estacao
- end
- def obterSexo()
- return @sexo
- end
- end
- ## biblioteca.rb
- class Biblioteca
- def initialize()
- @livros = Array.new
- end
- def adicionarLivro(livro)
- @livros.push(livro)
- end
- def removerLivro(titulo)
- l_index = @livros.find_index { |livro| livro.obterTitulo.eql? titulo }
- @livros.delete_at(l_index)
- end
- def procurarLivro(titulo)
- return @livros.find { |livro| livro.obterTitulo.eql? titulo }
- end
- def totalLivros()
- return @livros.size
- end
- end
- ## main.rb
- require_relative 'livro'
- require_relative 'programacao'
- require_relative 'moda'
- require_relative 'biblioteca'
- biblioteca = Biblioteca.new
- livro_programacao = Programacao.new("Aprende Ruby", "Joao", "TI", 2016, "Ruby")
- livro_moda = Moda.new("SexAmil", "Nelo", "+18", 2012, "OutonoInverno", "Misto")
- biblioteca.adicionarLivro(livro_programacao)
- biblioteca.adicionarLivro(livro_moda)
- puts biblioteca.totalLivros
- biblioteca.removerLivro("Aprende Ruby")
- puts biblioteca.totalLivros
- search_livro = biblioteca.procurarLivro("SexAmil")
- puts search_livro.obterAutor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement