Python - Objeto, Classe
07/06/2020
0
Construa um programa orientado a objetos que implemente exatamente o diagrama de classes abaixo (seguir a mesma nomenclatura).
Observações:
1. O método get_numero_paginas() retorna o número de páginas de um livro
2. O método autores() retorna uma lista com todos os autores de um livro
3. O método add_autor() adiciona um novo autor à lista de autores do livro. Quando um novo autor é adicionado a um livro, é preciso também fazer o processo reverso, adicionando o livro à lista de livros do autor.
4. O método lista_livros() retorna a lista de livros de um autor.
5. Os atributos de cada classe Autor devem ser informados na construtora da classe, sendo passados como dicionários (**kwargs).
6. O atributo título da classe Livro é obrigatório e deve ser parâmetro obrigatório na sua construtora. Também é obrigatório informar pelo menos um autor. Outros autores podem ser informados e devem ser passados na construtora como lista (*args). Os atributos subtítulo e numero_paginas são opcionais e podem ser passados na construtora como dicionário (**kwargs). Lembre que ao incluir um autor em um livro, este livro deve ser incluído na lista de livros do autor.
Teste as classes criando alguns autores e alguns livros. Teste o programa incluindo vários autores em um livro e criando vários livros do mesmo autor. Imprima os autores de um livro e os livros de um autor utilizando uma estrutura de repetição.
Observações:
1. O método get_numero_paginas() retorna o número de páginas de um livro
2. O método autores() retorna uma lista com todos os autores de um livro
3. O método add_autor() adiciona um novo autor à lista de autores do livro. Quando um novo autor é adicionado a um livro, é preciso também fazer o processo reverso, adicionando o livro à lista de livros do autor.
4. O método lista_livros() retorna a lista de livros de um autor.
5. Os atributos de cada classe Autor devem ser informados na construtora da classe, sendo passados como dicionários (**kwargs).
6. O atributo título da classe Livro é obrigatório e deve ser parâmetro obrigatório na sua construtora. Também é obrigatório informar pelo menos um autor. Outros autores podem ser informados e devem ser passados na construtora como lista (*args). Os atributos subtítulo e numero_paginas são opcionais e podem ser passados na construtora como dicionário (**kwargs). Lembre que ao incluir um autor em um livro, este livro deve ser incluído na lista de livros do autor.
Teste as classes criando alguns autores e alguns livros. Teste o programa incluindo vários autores em um livro e criando vários livros do mesmo autor. Imprima os autores de um livro e os livros de um autor utilizando uma estrutura de repetição.
Marcos
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)