POO - Dúvida em construir as classes.
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
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
Curtidas 0
Respostas
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 ????
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
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 !!!
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
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
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
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
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.
Abraço a todos.
GOSTEI 0
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
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
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