Fórum criar uma Classe ou Registro (Class ou Record) ? #285519

21/06/2005

0

Fala galera, estou com uma dúvida quanto a [i:1ef03fba39]Classes (Class)[/i:1ef03fba39] ou [i:1ef03fba39]Registros (Record)[/i:1ef03fba39] no Delphi

Algumas informações eu crio em forma de registro, essas inforações são usadas na hora em que o programa vai ativar a conexão com o BD:
type TBandodeDados = [b:1ef03fba39]RECORD[/b:1ef03fba39] Servidor : String; Database : String; Parametros : TStringList; end; ... var Banco : TBancodeDados;


Mas notei que eu posso criar isso como uma Classe:

type TBandodeDados = [b:1ef03fba39]CLASS[/b:1ef03fba39] Servidor : String; Database : String; Parametros : TStringList; end; ... var Banco : TBancodeDados;


Mas como eu não entendo muito sobre isso, será que alguém pode me explicar quais seriam as diferenças entre um e outro e caso eu use como uma classe, onde eu terei vantagens?

Valeu galera!


Eniorm

Eniorm

Responder

Posts

21/06/2005

Beppe

O Delphi(pre .NET) leva o conceito de classes e records ao extremo. Records são dados e classes são métodos E dados. As classes definem dados tal como records, mas permite, com herança e polimorfismo, modificar o comportamento de um ancestral.

Outro aspecto, é que vc precisa instanciar uma classe para obter um objeto. Já quando declara um record, vc tem os próprios dados dele. Vc pode ver um objeto(instância de uma classe) como um ponteiro disfarçado, que precisa ser alocado e liberado.


Responder

Gostei + 0

21/06/2005

Eniorm

Beppe obrigado pela dica....

No caso eu posso criar a classe TBancoDeDados e nela colocar os dados e posso também criar os procedimentos para conectar e desconectar o banco de dados, correto.

Só me diz como vou fazer para instanciar... basta declarar com o VAR ?
Eu terei que chamar o método CREATE da classe, tipo:

var
   banco : TBancodeDados;
...
   banco := TBancodedados.Create


Correto?


Responder

Gostei + 0

21/06/2005

Beppe

Uma VAR pode apontar para diferentes objetos em tempos diferentes. E sim, para instância vc chama o Create da classe. Note que Create é apenas uma convenção, pode dar o nome que quiser ao construtor.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar