Fórum Diagrama Classe #363207
25/08/2008
0
em uma classe mae pessoa eu posso diretamente instanciar um objeto Representante.alquem que esta acostumado a desenvolver classes pode me ajudar?
Aldemirjorge
Curtir tópico
+ 0
Responder
Posts
26/08/2008
Romulocpd
type TPessoa = class
protected
Codigo: Integer;
Nome: String;
end;
type TRepresentante = class(TPessoa)
private
Comissao: Real;
end;
Isso?
protected
Codigo: Integer;
Nome: String;
end;
type TRepresentante = class(TPessoa)
private
Comissao: Real;
end;
Isso?
Responder
Gostei + 0
27/08/2008
Luiz Henrique
Boa Noite aldemir, blz...
Bom, o amigo romulocpd , ´declarou´ mais uma classe em uma mesma Unit.
Voce perguntou se poderia instanciar, ou seja , criar um objeto.
Pode sim, tendo esta classe ja declarada no mesmo ou em outro modulo, referencio o mesmo se outro na unit que deseja ´instanciar´(criar) um objeto a partir da mesma.
unit uPessoa;
interface
uses
SysUtils, //Metodo FreeAndNil
//esta tem a declaracao que o romulocpd mostrou, TRepresentante
uRepresentante;
type
//Declaracao da classe
TPessoa = type
private
FCodigo: Double;
FNome : String;
public
//Declara variavel tipo TRepresentante
objRep: TRepresentante;
constructor Create; override;
destructor Destroy; override;
property Codigo: Double read FCodigo write FCodigo;
property Nome: String read FNome write FNome;
end;
implementation
constructor TPessoa.Create;
begin
inherited;
//Instancia o objeto
objRep:= TRepresentante.Create;
end;
destructor TPessoa.Destroy;
begin
//Finaliza o objeto
SysUtils.FreeAndNil(objRep);
inherited;
end;
Espero que te ajude, T+
Bom, o amigo romulocpd , ´declarou´ mais uma classe em uma mesma Unit.
Voce perguntou se poderia instanciar, ou seja , criar um objeto.
Pode sim, tendo esta classe ja declarada no mesmo ou em outro modulo, referencio o mesmo se outro na unit que deseja ´instanciar´(criar) um objeto a partir da mesma.
unit uPessoa;
interface
uses
SysUtils, //Metodo FreeAndNil
//esta tem a declaracao que o romulocpd mostrou, TRepresentante
uRepresentante;
type
//Declaracao da classe
TPessoa = type
private
FCodigo: Double;
FNome : String;
public
//Declara variavel tipo TRepresentante
objRep: TRepresentante;
constructor Create; override;
destructor Destroy; override;
property Codigo: Double read FCodigo write FCodigo;
property Nome: String read FNome write FNome;
end;
implementation
constructor TPessoa.Create;
begin
inherited;
//Instancia o objeto
objRep:= TRepresentante.Create;
end;
destructor TPessoa.Destroy;
begin
//Finaliza o objeto
SysUtils.FreeAndNil(objRep);
inherited;
end;
Espero que te ajude, T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)