3.7. Conceitos básicos de Dart: Herança e polimorfismo

Página 25

Antes de mergulhar na criação de aplicativos usando Flutter, é importante ter uma compreensão sólida da linguagem de programação Dart, que é a espinha dorsal do Flutter. Dois conceitos fundamentais em Dart, e na programação orientada a objetos em geral, são herança e polimorfismo. Vamos explorar esses conceitos em detalhes.

Herança

A herança é um princípio fundamental da programação orientada a objetos que permite que uma classe herde as propriedades e os métodos de outra classe. A classe que está sendo herdada é frequentemente chamada de 'classe pai' ou 'superclasse', enquanto a classe que herda é chamada de 'classe filha' ou 'subclasse'.

Em Dart, a herança é realizada usando a palavra-chave 'extends'. Por exemplo, se tivermos uma classe 'Animal' com propriedades como 'nome' e 'idade' e métodos como 'comer' e 'dormir', podemos criar uma nova classe 'Cão' que herda de 'Animal' da seguinte maneira:

class Animal {
  String nome;
  int idade;

  comer() {
    print('$nome está comendo.');
  }

  dormir() {
    print('$nome está dormindo.');
  }
}

class Cao extends Animal {
  latir() {
    print('$nome está latindo.');
  }
}

Agora, a classe 'Cao' tem acesso a todas as propriedades e métodos da classe 'Animal', além de qualquer coisa que defina por si só. Isso é útil porque nos permite reutilizar o código e organizar nosso código de maneira lógica e hierárquica.

Polimorfismo

O polimorfismo é outro princípio fundamental da programação orientada a objetos que permite que uma classe tenha muitas formas. Isso pode significar que uma classe filha pode redefinir um método da classe pai, ou que um método pode processar diferentes tipos de objetos.

Em Dart, o polimorfismo é realizado usando a palavra-chave 'override'. Por exemplo, se quisermos que a classe 'Cao' tenha uma versão diferente do método 'comer' da classe 'Animal', podemos fazer isso da seguinte maneira:

class Cao extends Animal {
  @override
  comer() {
    print('$nome está comendo ração para cães.');
  }
}

Agora, quando chamamos o método 'comer' em um objeto da classe 'Cao', veremos a mensagem 'nome está comendo ração para cães' em vez de 'nome está comendo'.

O polimorfismo também permite que um método processe diferentes tipos de objetos. Por exemplo, podemos ter um método 'fazerAnimalComer' que aceita um objeto da classe 'Animal' e chama seu método 'comer'. Este método funcionará tanto para objetos da classe 'Animal' quanto para objetos de qualquer classe que herde de 'Animal', como a classe 'Cao'.

fazerAnimalComer(Animal animal) {
  animal.comer();
}

Em resumo, a herança e o polimorfismo são conceitos fundamentais em Dart que nos permitem reutilizar e organizar nosso código de maneira eficaz. Eles são fundamentais para a criação de aplicativos usando Flutter e são conceitos que você usará repetidamente ao criar seus próprios aplicativos.

Now answer the exercise about the content:

Qual dos seguintes conceitos de programação orientada a objetos permite que uma classe herde as propriedades e os métodos de outra classe em Dart?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

263.8. Conceitos básicos de Dart: Tratamento de exceções

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text