POO - Dúvida em construir as classes.

Delphi

13/10/2006

Olá pessoal tudo bem com vcs?

Bom, estou me deparando na seguinte dúvida ao construir as classes.
Tudo bem que PessoaFisica e PessoaJuridica descendem da superclasse Pessoa, mas como ficaria as classes Cliente (sendo que cliente pode tanto pessoa física quanto pessoa juridica) e a classe fornecedor (seguindo o mesmo raciocínio da classe Clente).
Terei que criar essas classes que sejam filhas das classes PessoaFisica e PessoaJuridica????

Desde já agradeço a atenção

[]´s


Edibertoalves

Edibertoalves

Curtidas 0

Respostas

Marco Salles

Marco Salles

13/10/2006

é o delphi não tem Herança multiplas com em outras linguagens de programação.. Mas este efeito pode ser obtido aplicando corretamente usando o conceito de Interfaces...

Por outro lado , eu não sei como esta sua modelagem , nen quais são os criterios de abstração usados para a construção desses classes. Mas não poderia pensar na classe cliente descendendo diretamente da classse TPessoa e depois disso uma Especialização da Classe TCliente em TClientePessoaJuridica e em TClientePessoa Fisica ????


GOSTEI 0
Fabiano Góes

Fabiano Góes

13/10/2006

[quote:70de073f17=´Marco Salles´]é o delphi não tem Herança multiplas com em outras linguagens de programação.. Mas este efeito pode ser obtido aplicando corretamente usando o conceito de Interfaces...[/quote:70de073f17]

Fala ai Marco Salles, beleza irmão ?

aproveitando a deixa, você poderia dar um exemplo de herança multiplas com Interfaces ?

desde já agradeço !!!


GOSTEI 0
Marco Salles

Marco Salles

13/10/2006

beleza amigo...

não sei bem se o termo herança multipla com interfaces é um termo tecnicamente correto , o que eu sei pelo que ja li é que voce pode usar interfaces para suprir esta necessidade...

veja , suponha tres classes : Classe nadador , classe Corredor , classe Ciclista....Existe tambme a classe TriAtleta.. aonde um objeto instanciado do tipo Triatleta nada , corre , pedala.... Para implementar esta classe TTriatleta é conveniente usar o conceito de interface.... Aonde nos definiremos as classe Inadador , Icorredor , Iciclista... e a partir desta interfaces definiremos as classes TNadador , TCorredor , TCiclista...

Para implemntar finalmente a classe TTriatleta usaremos
Type TTriatleta = class(TInterfacedObject,INadador,ICicilista,ICorredor); metodo correr; metodo nadar; metodos pedalar; end;


esta vaga idéia foi tirada do artigo da revista delphi , da edição74. Por sinal muito bom artigo...Porem me parece que o autor do artigo esqueceu de mencionar algo muito importante : Para obter referencia referencia a implementação de uma interface atraves de QueryInterface , usando por exemplo o operador as , e necessário usar um identificado do Tipo GUID.. porem este mesmo vácuo deixado nesse artigo , fora muito bem prenchido em outro excelente artido de outro autor na edição seguinte de numero 75 da revista..

Para finalizar certa vez voce pediu exemplo de POO.... Sugiro a leitura de um livro , que se voce compar , depois vai ter que me agradecer , não pode esquecer , e se voce não gostar eu pago o livro...

http://www.relativa.com.br/livros_template.asp?Codigo_Produto=6431


GOSTEI 0
Joni Nunes

Joni Nunes

13/10/2006

Muito bom seu exemplo, somente fazendo um gancho, você terá q reescrever os métodos das classes q herdou na sua classe Triatleta.


Abraço a todos.


GOSTEI 0
Guilherme

Guilherme

13/10/2006

beleza amigo...

não sei bem se o termo herança multipla com interfaces é um termo tecnicamente correto , o que eu sei pelo que ja li é que voce pode usar interfaces para suprir esta necessidade...

veja , suponha tres classes : Classe nadador , classe Corredor , classe Ciclista....Existe tambme a classe TriAtleta.. aonde um objeto instanciado do tipo Triatleta nada , corre , pedala.... Para implementar esta classe TTriatleta é conveniente usar o conceito de interface.... Aonde nos definiremos as classe Inadador , Icorredor , Iciclista... e a partir desta interfaces definiremos as classes TNadador , TCorredor , TCiclista...

Para implemntar finalmente a classe TTriatleta usaremos
Type TTriatleta = class(TInterfacedObject,INadador,ICicilista,ICorredor); metodo correr; metodo nadar; metodos pedalar; end;


esta vaga idéia foi tirada do artigo da revista delphi , da edição74. Por sinal muito bom artigo...Porem me parece que o autor do artigo esqueceu de mencionar algo muito importante : Para obter referencia referencia a implementação de uma interface atraves de QueryInterface , usando por exemplo o operador as , e necessário usar um identificado do Tipo GUID.. porem este mesmo vácuo deixado nesse artigo , fora muito bem prenchido em outro excelente artido de outro autor na edição seguinte de numero 75 da revista..

Para finalizar certa vez voce pediu exemplo de POO.... Sugiro a leitura de um livro , que se voce compar , depois vai ter que me agradecer , não pode esquecer , e se voce não gostar eu pago o livro...

http://www.relativa.com.br/livros_template.asp?Codigo_Produto=6431




O site não está funcionando. Qual o nome do livro?
GOSTEI 0
POSTAR