Imagem do artigo Introdução à programação orientada a objetos em Dart: Herança

5.5. Introdução à programação orientada a objetos em Dart: Herança

Página 61 | Ouça em áudio

A programação orientada a objetos (OOP) é um paradigma de programação que usa "objetos" - estruturas de dados que consistem em campos de dados e métodos juntos com suas interações - para projetar aplicações e programas de computador. No Dart, como em muitas outras linguagens orientadas a objetos, a herança desempenha um papel crucial na organização e estruturação do código. Nesta seção, vamos explorar a herança em Dart e como ela pode ser usada ao criar aplicativos com o Flutter.

Herança em Dart

A herança é um princípio fundamental da programação orientada a objetos que permite que uma classe herde os campos e métodos de outra. Em Dart, a herança é implementada através da palavra-chave 'extends'. Quando uma classe é declarada como herdeira de outra classe, ela se torna uma subclasse e a classe da qual herda se torna a superclasse.

class Animal {
  void breathe() {
    print('Respirando...');
  }
}

class Dog extends Animal {
  void bark() {
    print('Latindo...');
  }
}

No exemplo acima, a classe Dog herda da classe Animal. Isso significa que um objeto Dog pode realizar tanto a ação de 'bark' quanto a ação de 'breathe'.

Sobrescrita de métodos

Em Dart, uma subclasse pode substituir um método de sua superclasse usando a palavra-chave 'override'. Isso permite que a subclasse forneça uma implementação diferente de um método que já está fornecido por sua superclasse.

class Animal {
  void breathe() {
    print('Respirando...');
  }
}

class Dog extends Animal {
  void bark() {
    print('Latindo...');
  }

  @override
  void breathe() {
    super.breathe();
    print('...com um osso na boca');
  }
}

No exemplo acima, a classe Dog sobrescreve o método 'breathe' da classe Animal. A chamada ao método 'super.breathe()' invoca a implementação original do método 'breathe' na superclasse Animal, e então a classe Dog adiciona sua própria funcionalidade a ele.

Herança e Flutter

Na criação de aplicativos com Flutter, a herança pode ser usada para reutilizar e estender o comportamento e a aparência dos widgets. Por exemplo, você pode criar uma subclasse de um widget stateful para adicionar funcionalidade adicional ou para personalizar sua aparência.

class CustomButton extends RaisedButton {
  CustomButton({@required VoidCallback onPressed})
      : super(
            onPressed: onPressed,
            color: Colors.blue,
            child: Text(
              'Custom Button',
              style: TextStyle(color: Colors.white),
            ));
}

No exemplo acima, a classe 'CustomButton' herda de 'RaisedButton' e personaliza sua cor e texto. A herança permite que você crie widgets personalizados que se encaixam perfeitamente em seu aplicativo sem ter que reescrever todo o código do widget.

Conclusão

A herança é um recurso poderoso da programação orientada a objetos que permite que os desenvolvedores reutilizem e estendam o código existente. Em Dart e Flutter, é uma ferramenta essencial para a organização do código e a criação de widgets personalizados. Compreender a herança e como usá-la efetivamente pode ajudar a melhorar a eficiência e a qualidade do código ao criar aplicativos com Flutter.

Agora responda o exercício sobre o conteúdo:

Qual é o papel da herança na programação orientada a objetos em Dart e Flutter?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Introdução à programação orientada a objetos em Dart: Polimorfismo

Próxima página do Ebook Gratuito:

62Introdução à programação orientada a objetos em Dart: Polimorfismo

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto