DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Artigo Clube Delphi 110 - Introdução à POO – Parte 3

Artigo da Revista Clube Delphi Edição 110.





ClubeDelphi 110

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da ClubeDelphi 110


Introdução à POO – Parte 3

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

 

Do que trata o artigo

Este artigo aborda a orientação a objetos com o Delphi, usando uma metodologia simples, didática, de fácil aprendizado. Veremos na teoria, e também na prática, todos os conceitos, fundamentos e recursos oferecidos pelo Delphi para promover a POO.

Para que serve

A POO pode e deve ser aplicada de forma inteligente, ela serve para construir sistemas mais robustos, mais confiáveis, de fácil manutenção, que permitam maior reaproveitamento de código.

Em que situação o tema é útil

A POO é útil em qualquer sistema, seja ele Web, Desktop, Mobile, não importa o tipo de aplicação. Os conceitos aqui apresentados, em um exemplo simples, podem ser utilizados em aplicações reais, como é apresentado em um estudo de caso no final desta série.

 

Resumo do DevMan

Neste artigo aprenderemos mais sobre métodos virtuais e polimorfismo, dando um passo além, estudando métodos abstratos. Também examinaremos o que são construtores e destrutores. Entendermos o que são e para que servem os especificadores de visibilidade (modificadores) public, protected e private. Criaremos propriedades para nossas classes e reforçaremos princípios básicos de encapsulamento. E finalmente, entenderemos o que são métodos get / set.

 

Nas partes anteriores deste mini-curso, aprendemos importantes técnicas da orientação a objetos com o Delphi. Vimos como criar classes, aplicar a herança (TCarro e TAviao agora herdam de TMeioTransporte), vimos como criar métodos virtuais e aplicar o polimorfismo, como sobrescrever métodos virtuais e chamar funcionalidades da classe base com inherited. Nesta terceira parte do nosso curso, vamos avançar mais na orientação a objetos, chegando em um nível muito próximo de aplicações reais, inclusive fazendo novamente comparações com o design de classes da VCL.

Métodos abstratos

Se lembrar da última parte do curso, implementamos no método Mover a funcionalidade básica para todos os meios de transporte, que é o ato de ligar. Mas imagine o seguinte: e se cada meio de transporte for ligado de uma forma? O que é comum nesse caso é a chamada do método, ou seja, todos devem ser ligados antes de entrar em movimento. O que muda é a maneira como são ligados (já viu que vamos falar de polimorfismo novamente). Então altere o código do método Mover da classe TMeioTransporte como mostrado na Listagem 1.

 

Listagem 1. Comportamento básico para todos os meios de transporte

procedure TMeioTransporte.Mover();

begin

  Ligar();

end;

 

Isso diz que um meio de transporte deve ser ligado sempre que entrar em movimento (tudo bem que na vida real não seja exatamente assim, mas para fins didáticos, está bom). Agora declare o método Ligar na interface da classe TMeioTransporte (Listagem 2).

 

Listagem 2. Método abstrato

unit uMeioTransporte;

 

interface

 

type

  TMeioTransporte = class

    Descricao : string;

    Capacidade : integer;

    procedure Mover; virtual;

    procedure Ligar; virtual; abstract;

  end;

 

implementation

 

{ TMeioTransporte }

 

uses"


Guinther Pauli.
Microsoft Certified Professional - MCP,MCAD,MCSD.NET,MCTS,MCPD (C#, ASP.NET, Arquitetura), MVP, Delphi Certified Professional, Colaborador Editorial Revistas .net Magazine e ClubeDelphi http://www.gpauli.com http://www.facebook.com/guintherpauli http://www.twitter.com/guintherpauli http://br.li...
O que você achou deste post?

    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Marcelo Carneiro Lourenço

Realmente o exemplo tem que ser bem fácil mesmo para um bom entendimento. Meus parabéns pelo conhecimento e didática! Estou começando a entender melhor agora esse mundo dos objetos. 

[há +1 ano] - Responder

 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03