Olá Valfrid, tudo bem? Agora vc complicou o meu entendimento... :-( Estou voando na sua explicação. Se vc puder elucidar com um exemplo, ficarei grato.
Em 13/08/07, Valfrid-Ly Silva Couto <[EMAIL PROTECTED]> escreveu: > > Ricardo, > > Só complementando, já que aparentemente nas suas classes você não teria um > sacramento "não tipado" o seu objeto "sacramento" deveria ser abstrato para > não ser instanciado, implementando os métodos "genéricos" e forçando a > implementação dos métodos nas classes descendentes. > > Se você não utilizar um framework de persistência, um exemplo seria o > método "save" que teria que obrigatoriamente ser implementado em cada classe > filha para gravar os dados na tabela correta, chamando o método da classe > pai (sacramento) para que esse gravasse os dados "genéricos" na própria > tabela! > > Joao Morais <[EMAIL PROTECTED] <post%40joaomorais.com.br>> escreveu: > ricardo_sx wrote: > > Alguém teria um sisteminha exemplo para demonstrar como, na prática, é > > aplicado a herança no delphi entre classes e no Banco de Dados? Pois > > estou com dificuldades nesse entendimento. > > Fiz um sistema onde a classe genérica se chama Sacramento e as > > especializadas se chamam batismo, eucaristia, matrimonio, crisma. > > No banco de dados eu fiz assim: criei as tabelas sacramento, batismo, > > matrimonio, crisma e eucaristia. O que era comum a todos eu gravava em > > sacramento e o que era específico gravava na tabela específica. ou > > seja: ao registrar um batismo, alguns dados, como nome e endereço > > cadastrava em sacramento e padrinho, madrinha, data de batismo gravava > > na tabela batismo. a relação que faço entre a tabela genérica com a > > especializada é o código de registro que são iguais. > > Por favor, se alguém puder me orientar a respeito, agradeceria e muito. > > No momento, preciso, somente, entender esse esquema de forma simples e > > clara para ficar fixado na mente. > > A regra é a seguinte: cada classe deve possuir uma tabela que irá > guardar os membros desta classe. Neste exemplo: > > TContato > Nome: string; > Endereco: string; > > TPessoa = class(TContato) > Apelido: string; > > TEmpresa = class(TContato) > NroFiliais: Integer; > > você tem três tabelas. A tabela contato tem campos para nome e endereço. > A tabela pessoa tem apenas o campo apelido. A tabela Empresa tem apenas > o campo NroFiliais. > > Quando você cria uma instância de pessoa, você: > > VPessoa.Nome := 'O nome'; > VPessoa.Endereco := 'O endereco, nro'; > VPessoa.Apelido := 'O apelido'; > > e quando grava, o campo nome e endereço vai para uma tabela, o campo > apelido vai para outra. > > Todas as tabelas tem, além destes campos, o campo Id. Para este caso, o > campo Id na tabela contato e pessoa tem o mesmo valor, e é desta forma > que as informações estão ligadas. > > Esta é a forma politicamente correta de se escrever um OPF. > > Hth. > > -- > Joao Morais > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Links do Yahoo! Grupos > > Flickr agora em português. Você clica, todo mundo vê. Saiba mais. > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]