criar uma Classe ou Registro (Class ou Record) ?
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:
Mas notei que eu posso criar isso como uma Classe:
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!
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
Curtidas 0
Respostas
Beppe
21/06/2005
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.
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.
GOSTEI 0
Eniorm
21/06/2005
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:
Correto?
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?
GOSTEI 0
Beppe
21/06/2005
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.
GOSTEI 0