1
resposta

[Projeto] Tarefa - Polimorfismo e Sobrescrita

void main() {
  Axe machado = Axe('Machado Comum', 1.5, 30);
  HandAxe handAxe = HandAxe('Hand Axe', 1.0, 45);

  machado.infGuns();
  machado.pAtaque();
  machado.mAtaque();
  machado.ataque();

  handAxe.infGuns();
  handAxe.pAtaque();
  handAxe.mAtaque();
  handAxe.ataque();
}

class Guns implements Attack {
  String name;
  double weight;
  double pCut;

  Guns(this.name, this.weight, this.pCut);

  void infGuns() {
    print(
        'Sua arma $name que pesa $weight kg e tem a porcetagem de corte $pCut %\n');
  }

  @override
  void pAtaque() {
    print('Você pega o $name e o(a) levanta\n');
  }

  @override
  void mAtaque() {
    print('Após levantar você curva os braços segurando o $name com força\n');
  }

  @override
  void ataque() {
    print('Em um golpe curto e seco você crava o $name em seu inimigo\n');
  }
}

class Axe extends Guns {
  Axe(String name, double weight, double pCut) : super(name, weight, pCut);
}

class HandAxe extends Axe {
  HandAxe(String name, double weight, double pCut) : super(name, weight, pCut);

  @override
  void mAtaque() {
    print(
        'Ao levantar você percebe um racho no cabo, mas mesmo assim continua\n');
    super.mAtaque();
  }

  @override
  void ataque() {
    print(
        ' Ao tentar atacar com a fissura presente no cabo, ele acaba quebrando, e seu inimigo lhe bate!');
  }
}

abstract class Attack {
  void pAtaque();
  void mAtaque();
  void ataque();
}
1 resposta

Oi Fernando, tudo bem?

Muito obrigada por compartilhar com a gente o seu resultado da atividade! Fico feliz em ver que você está praticando, pois é fundamental para o seu aprendizado. Parabéns por se dedicar e colocar em prática o que foi visto nas aulas.

Continue assim e os resultados virão!

Um abraço.