Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Pessoas.Interfaces;
- interface
- uses Dialogs;
- type
- TSexo = (sMasculino, sFeminino);
- TCPF = String[11];
- TCNPJ = String[14];
- IPessoa = interface
- ['{BA1BE56F-A5F2-4B6D-851C-84DFB31C5667}']
- function GetNome: String;
- procedure SetNome(const Value: String);
- function GetDataNascimento: TDateTime;
- procedure SetDataNascimento(const Value: TDateTime);
- property Nome: String read GetNome write SetNome;
- property DataNascimento: TDateTime read GetDataNascimento write SetDataNascimento;
- end;
- IPessoaFisica = interface(IPessoa)
- ['{FC08F0F7-98EE-4685-8D97-016EB73D1632}']
- function getCPF: TCPF;
- function GetSexo: TSexo;
- procedure setCPF(const Value: TCPF);
- procedure SetSexo(const Value: TSexo);
- property Sexo: TSexo read GetSexo write SetSexo;
- property CPF: TCPF read getCPF write setCPF;
- end;
- IPessoaJuridica = interface(IPessoa)
- ['{02785670-49D7-4B64-81C3-3AA5015142EE}']
- function GetCNPJ: TCNPJ;
- function GetNomeFantasia: String;
- procedure SetCNPJ(const Value: TCNPJ);
- procedure SetNomeFantasia(const Value: String);
- property CNPJ: TCNPJ read GetCNPJ write SetCNPJ;
- property NomeFantasia: String read GetNomeFantasia write SetNomeFantasia;
- end;
- TPessoa = class(TInterfacedObject,IPessoa)
- private
- function GetNome: String;
- procedure SetNome(const Value: String);
- function GetDataNascimento: TDateTime;
- procedure SetDataNascimento(const Value: TDateTime);
- end;
- TPessoaFisica = class(TPessoa,IPessoaFisica)
- private
- function getCPF: TCPF;
- function GetSexo: TSexo;
- procedure setCPF(const Value: TCPF);
- procedure SetSexo(const Value: TSexo);
- procedure AfterConstruction; Override;
- end;
- TPessoaJuridica = class(TPessoa,IPessoaJuridica)
- private
- function GetCNPJ: TCNPJ;
- function GetNomeFantasia: String;
- procedure SetCNPJ(const Value: TCNPJ);
- procedure SetNomeFantasia(const Value: String);
- procedure AfterConstruction; Override;
- end;
- implementation
- { TPessoaFisica }
- procedure TPessoaFisica.AfterConstruction;
- begin
- inherited AfterConstruction;
- ShowMessage('Pessoa Fisica');
- end;
- function TPessoaFisica.getCPF: TCPF;
- begin
- end;
- function TPessoaFisica.GetSexo: TSexo;
- begin
- end;
- procedure TPessoaFisica.setCPF(const Value: TCPF);
- begin
- end;
- procedure TPessoaFisica.SetSexo(const Value: TSexo);
- begin
- end;
- { TPessoa }
- function TPessoa.GetDataNascimento: TDateTime;
- begin
- end;
- function TPessoa.GetNome: String;
- begin
- end;
- procedure TPessoa.SetDataNascimento(const Value: TDateTime);
- begin
- end;
- procedure TPessoa.SetNome(const Value: String);
- begin
- end;
- { TPessoaJuridica }
- procedure TPessoaJuridica.AfterConstruction;
- begin
- inherited AfterConstruction;
- ShowMessage('Pessoa Juridica');
- end;
- function TPessoaJuridica.GetCNPJ: TCNPJ;
- begin
- end;
- function TPessoaJuridica.GetNomeFantasia: String;
- begin
- end;
- procedure TPessoaJuridica.SetCNPJ(const Value: TCNPJ);
- begin
- end;
- procedure TPessoaJuridica.SetNomeFantasia(const Value: String);
- begin
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement