[AULA TEÓRICA 02 ] Herança em Python é um conceito fundamental da programação orientada a objetos (POO) que permite que uma classe herde atributos ...
[AULA TEÓRICA 02 ] Herança em Python é um conceito fundamental da programação orientada a objetos (POO) que permite que uma classe herde atributos e métodos de outra classe. class Animal: def __init__(self, age: int, height: int, weight: int, position: tuple): self.age = age self.height = height self.weight = weight self.position = position # position [position_x, position_y, position_z] def move_x(self): self.position[0] += 1 class Dog(Animal): def __init__(self, age: int, height: int, weight: int, position: tuple): super().__init__(age, height, weight, position) def move_x(self): self.position[2] += 2 class Cat(Dog): def __init__(self, age: int, height: int, weight: int, position: tuple, fur_type = 'liso'): super().__init__(age, height, weight, position, fur_type) def move_x(self): self.position[3] += 4 melo = Cat(age=10, weight=30, position=(0, 0, 0), height=10) print(melo.age) O código acima não está sendo executado. Marque a alternativa que indica o motivo e o porque.
A O problema é na herança da classe Cat. Está deveria estender (herdar) da classe Animal Apesar de logicamente incorreta a herança de Cat. Não é a razão do código não executar B Não existe atributo fur_type na classe Cat Não é um problema, pois no código acima esse valor nunca será lido C O método mov_x deve ter uma anotação especial na Animal se este for modificado nas suas subclasses. Não é necessário. D A invocação do construtor de Animal está com um atributo a mais na classe Cat Você assinalou essa alternativa (D)
A alternativa correta é a letra D. A invocação do construtor de Animal está com um atributo a mais na classe Cat. Isso ocorre devido ao parâmetro "fur_type" que está sendo passado para o construtor de Animal, mas a classe Animal não possui esse parâmetro em seu construtor.
0
0
Faça como milhares de estudantes: teste grátis o Passei Direto
Compartilhar