DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Clube Delphi 94 - Orientação a Objetos no Delphi for PHP

Artigo publicado pela Clube Delphi edição 94.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

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

Clique aqui para ler essa revista em PDF.imagem_pdf.jpg

Delphi for  PHP

Orientação a Objetos no Delphi for PHP

Como aplicar conceitos de POO em aplicações PHP? – Parte 2

 

Como prometido em meu primeiro artigo vamos dar continuidade a este assunto tão extenso que é a orientação a Objetos. Como dito anteriormente toda linguagem dita OO deve estar apoiada nos pilares desta filosofia que são: Herança, Encapsulamento, Abstração e Polimorfismo e o PHP 5 implementa essas quatro características inclusive o polimorfismo que é o foco do nosso artigo.

Muitos programadores vêem a herança como a solução de seus problemas, porém se usada indiscriminadamente ele pode ser um feitiço que se vira contra o feiticeiro, isto porque se não tomarmos os devidos cuidado acabamos por acoplar todo o nosso código através da herança. Porém se há algo que justifique o uso da herança este se chama polimorfismo.

O polimorfismo é um dos assuntos mais importantes na POO. Com o uso de classes e heranças conseguimos facilmente descrever uma situação da vida real além de conseguir estender projetos por meios da reutilização de código. Mas se de um lado o polimorfismo é um dos assuntos mais importantes da POO é também sem dúvida nenhuma um dos mais difíceis de ser compreendido. Isto porque muitos que se aventuram pela primeira vez na OO entram ainda com uma mentalidade procedural e enxergando as classes como entidades do banco de dados tornando mais difícil a compreensão da POO como um todo.

 

Nota do DevMan

O termo Programação Procedural (ou programação procedimental) é às vezes utilizado como sinônimo de Programação Imperativa (paradigma de programação que especifica os passos que um programa deve seguir para alcançar um estado desejado), mas o termo pode se referir (como neste artigo) a um paradigma de programação baseado no conceito de chamadas a procedimentos. Procedimentos, também conhecidos como rotinas, sub-rotinas, métodos, ou funções simplesmente contêm um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.

 

Polimorfismo

Teoricamente e a grosso modo entende-se por polimorfismo “a capacidade que um mesmo método tem de se comportar de maneira diferente dependendo de qual classe ele foi chamado”. Nós conseguimos isso declarando um método em uma classe base e o sobrescrevemos em uma classe herdada, facilitando assim o desenvolvimento e reaproveitamento códigos.

Antes de mais nada é importante deixar claro que a linguagem que estamos trabalhando é o PHP e que o mesmo é interpretado, fracamente tipado e sendo assim não há a necessidade de se declarar variáveis com seus tipos. Mas o que isso tem a ver com polimorfismo? Tudo! Observe o código da Listagem 1.

 

Listagem 1. Polimorfismo no Delphi Win32

 

unit SeresVivos;

 

interface

 

type

  TServivo = class

    procedure ProduzirSom;

  end;

 

  TCachorro = class(TServivo)

    procedure ProduzirSom; 

  end;

 

  THomem = class(TServivo)

    procedure ProduzirSom; 

  end;

 

implementation

 

uses

  SysUtils, Dialogs;

 

{ TCachorro }

 

procedure TCachorro.ProduzirSom;

begin"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Rodrigo Carreiro Mourão
Gestor de TI com especialização em gerência de projetos (PMI) e Governança de TI (ITIL e COBIT) pelo instituto Infnet. Embarcadero MVP e Instrutor certificado pela Borland. Graduando-se em Gestão de TI focada em negócios. Grande entusiasta do desenvolvimento orientado a objetos, padrões de projetos,...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

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


Nenhum comentário foi postado - seja o primeiro a comentar!
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!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03