1
resposta

tarefa de heranças e classe

main() { boxe lutador1 = boxe('matheus', 'naruto', 80, 32, true);

karate lutardor2 = karate('Guts', 'Beserk', 103, 24, true, false); karate lutador3 = karate('grinffin', 'traidor', 80, 26, false, false); karate lutador4 = karate('kakaroto', 'Goky', 85, 38, true, true);

lutador1.printBoxe(); lutardor2.printKarate(); lutador3.printKarate(); lutador4.printKarate(); }

class atleta { String nome; String apelido; double peso; int idade;

atleta(this.nome, this.apelido, this.peso, this.idade); }

class boxe extends atleta { bool iscampeao;

boxe(String nome, String apelido, double peso, int idade, this.iscampeao) : super(nome, apelido, peso, idade);

void printBoxe() { if (iscampeao) { print( 'ele foi campeão no boxe? $iscampeao e seu nome é $nome, idade $idade e seu peso é $peso, e é conhecido como $apelido'); } else { print( 'ele foi campeão no boxe? $iscampeao não é digno de saber nada dele '); } } }

class karate extends boxe { bool isFaixaPreta;

karate(String nome, String apelido, double peso, int idade, bool iscampeao, this.isFaixaPreta) : super(nome, apelido, peso, idade, iscampeao);

void printKarate() { if (isFaixaPreta && iscampeao) { print( ' então vc é o brabo, blackbelt e champion não quero saber seu nome pra não morrer'); } else if (isFaixaPreta || iscampeao) { print( 'ele é faixa preta ? ${isFaixaPreta}. é campeão ? ${iscampeao} seu nome é $nome, sua idade ${idade}, seu peso ${peso} e é conhecido como ${apelido}'); } else { print( 'ele é faixa preta ? ${isFaixaPreta}. é campeão ? ${iscampeao} seu nome é $nome, sua idade ${idade}, seu peso ${peso} e é conhecido como ${apelido}, OU SEJA TU É PODRE!'); } ; } } Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Alexandre!

Pelo que entendi, você está trabalhando com herança e classes no Dart. Parece que você está criando uma hierarquia de lutadores, onde temos a classe "atleta" como classe base, e as classes "boxe" e "karate" como subclasses.

No seu código, você está criando instâncias dos lutadores e chamando os métodos "printBoxe()" e "printKarate()" para exibir informações sobre eles. No entanto, parece que você está enfrentando um problema ao exibir as informações corretas.

Ao analisar seu código, percebi que você está chamando o método "printKarate()" para exibir informações sobre os lutadores do boxe também. Isso pode estar causando a exibição incorreta das informações.

Uma solução seria criar um método separado na classe "boxe" para exibir as informações específicas dos lutadores de boxe, em vez de chamar o método "printKarate()". Dessa forma, você terá um método específico para cada tipo de lutador.

Por exemplo, você pode criar um método chamado "printBoxe()" na classe "boxe" e chamá-lo para exibir as informações dos lutadores de boxe. Assim, você terá um método "printKarate()" para os lutadores de karatê e um método "printBoxe()" para os lutadores de boxe.

Além disso, sugiro que você revise a lógica das condições em seus métodos de impressão. Certifique-se de que as condições estão corretas e exibindo as informações desejadas.

Espero que essas sugestões possam te ajudar a resolver o problema. Se precisar de mais ajuda, é só me perguntar!

Espero ter ajudado e bons estudos!