Classe X Record
Qual(is) a(s) principal(is) diferença(s) entre classe ou record no Delphi 7?
Ambos são muito parecidos na sua aplicabilidade, correto?
O que devo levar em consideração ao utilizar um ou outro?
Obrigado
Ambos são muito parecidos na sua aplicabilidade, correto?
O que devo levar em consideração ao utilizar um ou outro?
Obrigado
Armindo
Curtidas 0
Melhor post
Adoniram
10/09/2008
As classes são completamente diferente de records. Os records são estruturas fixas onde o foco é o armazenamento de dados para sua manipulação. As classes são mais dinâmicas onde o foco é o comportamento.
Eles são muito diferentes um do outro. No uso de classes vc tem flexibilidade e manutebilidade de código bem maiores.
Também não adianta vc utilizar classes, caso vc vá programar com elas da mesma forma que vc programa com records. Você vai estar não vai estar utilizando todos os recursos que a programação orientada a objetos pode te oferecer.
Eles são muito diferentes um do outro. No uso de classes vc tem flexibilidade e manutebilidade de código bem maiores.
Também não adianta vc utilizar classes, caso vc vá programar com elas da mesma forma que vc programa com records. Você vai estar não vai estar utilizando todos os recursos que a programação orientada a objetos pode te oferecer.
GOSTEI 1
Mais Respostas
Brunodsr
10/09/2008
Errado brother.. a usabilidade não é parecida não. Servem para coisas distintas.
Use um record como repositório de dados. Use uma classe apenas se existirem ações atreladas a ela ou se você quiser manipular alguns dados ou encapsular dados/métodos. Ex.:
[b:5e74807d5e]Digamos que vc queira guardar uma série de dados de um cliente:[/b:5e74807d5e]
Se não haverá qualquer regra para armazenar estes dados e se todos eles serão disponibilizados ´puramente´ e ainda nenhuma ação relacionada com eles será tomada, use um record.
Já se você quer definir regras de atribuição de valores ou mesmo quer esconder valores e definir ações para esse repositório, você deve usar uma classe. É mais prático e mais seguro.
Com essa classe, eu consigo proteger os seus atributos e exibir os dados da forma que eu achar mais conveniente. Além do mais, posso ter funções específicas pertencentes a essa classe.
Espero ter ajudado.
Use um record como repositório de dados. Use uma classe apenas se existirem ações atreladas a ela ou se você quiser manipular alguns dados ou encapsular dados/métodos. Ex.:
[b:5e74807d5e]Digamos que vc queira guardar uma série de dados de um cliente:[/b:5e74807d5e]
Se não haverá qualquer regra para armazenar estes dados e se todos eles serão disponibilizados ´puramente´ e ainda nenhuma ação relacionada com eles será tomada, use um record.
TCliente = record ID: Integer; Nome: String; ... ... end;
Já se você quer definir regras de atribuição de valores ou mesmo quer esconder valores e definir ações para esse repositório, você deve usar uma classe. É mais prático e mais seguro.
//Classe responsavel pelo cadastro de clientes Cliente = class private fNome :String; fCPF : String; fIdade: Integer; //Funções de leitura/escrita em propriedades da classe procedure setCPF(nCPF:String); function getCPF:string; procedure setNome(sNome:String); procedure setIdade(nIdade: integer); //Funcoes para validacao privadas para a classe Function ValidaCPF(nCPF:String):Boolean; Function FormataCPF(nCPF:String; Formatacao: Formatacao):String; public property Nome: string read fNome write setNome; property CPF : String read getCPF write setCPF; property Idade: integer read fIdade write setIdade; //Funcoes para validacao publicas para a classe Function ClassificaCPF(nCPF: String):classificacao; end;
Com essa classe, eu consigo proteger os seus atributos e exibir os dados da forma que eu achar mais conveniente. Além do mais, posso ter funções específicas pertencentes a essa classe.
Espero ter ajudado.
GOSTEI 0
Armindo
10/09/2008
Obrigado
GOSTEI 0