Artigo Clube Delphi 109 - Introdução à POO – Parte 2

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (4)  (0)

Artigo da Revista Clube Delphi Edição 109.

Esse artigo faz parte da revista Clube Delphi Edição 109. Clique aqui para ler todos os artigos desta edição

Introdução à POO – Parte 2

Aprenda, de uma forma simples, a programar da forma correta

 

         No artigo da edição anterior, aprendemos importantes conceitos da orientação a objetos, como Abstração, Encapsulamento, Herança e Polimorfismo. Vimos tudo isso na teoria, por enquanto, pois conforme eu mesmo comentei, a OO é bastante conceitual. E para podermos aplicá-la na prática, precisamos ter esses pilares bem fundamentados.

Vamos continuar nos aprofundando na orientação a objetos com o Delphi, desta vez, entendo o que considero os principais recursos da OO que são aplicados no Delphi: herança e polimorfismo. A herança, na Delphi Language, é conseguida através do uso da palavra-chave class, antigamente object (que por questões óbvias mudou, visto que uma classe não é um objeto). O polimorfismo é conseguido aplicando-se várias palavras-reservadas, como virtual, dynamic, abstract e override. Veremos tudo na prática em nosso exemplo.

Iniciamos nossos trabalhos criando uma interface que permitia manipular carros e aviões, através de Edits. O usuário informava valores para as propriedades dos objetos, que podiam ser do tipo TCarro e TAviao, e então criava instâncias dessas classes. Aqui já temos uma boa prática sendo aplicada, nossas classes de negócio estão separadas do código de interface (o formulário). Vamos então conhecer o que é a herança e como ela funciona.

Herança

Nosso exemplo da edição anterior terminou com um grave defeito de modelagem. Claro, proposital. Vamos observar o código das classes TCarro e TAviao (Listagem 1).

 

Listagem 1. TCarro e TAviao

unit uCarro;

 

interface

 

type

  TCarro = class

    Descricao : string;

    Capacidade : integer;

    Quilometragem : integer;

    procedure Mover();

  end;

 

implementation

 

uses Dialogs;"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?