Advertisement
filhotecmail

Pessoas.Interface

Oct 23rd, 2017
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 3.14 KB | None | 0 0
  1. unit Pessoas.Interfaces;
  2.  
  3. interface
  4.  
  5. uses Dialogs;
  6.  
  7. type
  8.   TSexo = (sMasculino, sFeminino);
  9.   TCPF = String[11];
  10.   TCNPJ = String[14];
  11.  
  12.   IPessoa = interface
  13.   ['{BA1BE56F-A5F2-4B6D-851C-84DFB31C5667}']
  14.     function GetNome: String;
  15.     procedure SetNome(const Value: String);
  16.     function GetDataNascimento: TDateTime;
  17.     procedure SetDataNascimento(const Value: TDateTime);
  18.  
  19.     property Nome: String read GetNome write SetNome;
  20.     property DataNascimento: TDateTime read GetDataNascimento write SetDataNascimento;
  21.   end;
  22.  
  23.   IPessoaFisica = interface(IPessoa)
  24.   ['{FC08F0F7-98EE-4685-8D97-016EB73D1632}']
  25.     function getCPF: TCPF;
  26.     function GetSexo: TSexo;
  27.     procedure setCPF(const Value: TCPF);
  28.     procedure SetSexo(const Value: TSexo);
  29.  
  30.     property Sexo: TSexo read GetSexo write SetSexo;
  31.     property CPF: TCPF read getCPF write setCPF;
  32.   end;
  33.  
  34.   IPessoaJuridica = interface(IPessoa)
  35.   ['{02785670-49D7-4B64-81C3-3AA5015142EE}']
  36.     function GetCNPJ: TCNPJ;
  37.     function GetNomeFantasia: String;
  38.     procedure SetCNPJ(const Value: TCNPJ);
  39.     procedure SetNomeFantasia(const Value: String);
  40.  
  41.     property CNPJ: TCNPJ read GetCNPJ write SetCNPJ;
  42.     property NomeFantasia: String read GetNomeFantasia write SetNomeFantasia;
  43.   end;
  44.  
  45.   TPessoa = class(TInterfacedObject,IPessoa)
  46.   private
  47.     function GetNome: String;
  48.     procedure SetNome(const Value: String);
  49.     function GetDataNascimento: TDateTime;
  50.     procedure SetDataNascimento(const Value: TDateTime);
  51.   end;
  52.  
  53.   TPessoaFisica = class(TPessoa,IPessoaFisica)
  54.   private
  55.     function getCPF: TCPF;
  56.     function GetSexo: TSexo;
  57.     procedure setCPF(const Value: TCPF);
  58.     procedure SetSexo(const Value: TSexo);
  59.     procedure AfterConstruction; Override;
  60.   end;
  61.  
  62.   TPessoaJuridica = class(TPessoa,IPessoaJuridica)
  63.   private
  64.     function GetCNPJ: TCNPJ;
  65.     function GetNomeFantasia: String;
  66.     procedure SetCNPJ(const Value: TCNPJ);
  67.     procedure SetNomeFantasia(const Value: String);
  68.     procedure AfterConstruction; Override;
  69.   end;
  70.  
  71.  
  72. implementation
  73.  
  74.  
  75. { TPessoaFisica }
  76.  
  77. procedure TPessoaFisica.AfterConstruction;
  78. begin
  79.   inherited AfterConstruction;
  80.   ShowMessage('Pessoa Fisica');
  81.  
  82. end;
  83.  
  84. function TPessoaFisica.getCPF: TCPF;
  85. begin
  86.  
  87. end;
  88.  
  89. function TPessoaFisica.GetSexo: TSexo;
  90. begin
  91.  
  92. end;
  93.  
  94. procedure TPessoaFisica.setCPF(const Value: TCPF);
  95. begin
  96.  
  97. end;
  98.  
  99. procedure TPessoaFisica.SetSexo(const Value: TSexo);
  100. begin
  101.  
  102. end;
  103.  
  104. { TPessoa }
  105.  
  106. function TPessoa.GetDataNascimento: TDateTime;
  107. begin
  108.  
  109. end;
  110.  
  111. function TPessoa.GetNome: String;
  112. begin
  113.  
  114. end;
  115.  
  116. procedure TPessoa.SetDataNascimento(const Value: TDateTime);
  117. begin
  118.  
  119. end;
  120.  
  121. procedure TPessoa.SetNome(const Value: String);
  122. begin
  123.  
  124. end;
  125.  
  126. { TPessoaJuridica }
  127.  
  128. procedure TPessoaJuridica.AfterConstruction;
  129. begin
  130.   inherited AfterConstruction;
  131.   ShowMessage('Pessoa Juridica');
  132.  
  133. end;
  134.  
  135. function TPessoaJuridica.GetCNPJ: TCNPJ;
  136. begin
  137.  
  138. end;
  139.  
  140. function TPessoaJuridica.GetNomeFantasia: String;
  141. begin
  142.  
  143. end;
  144.  
  145. procedure TPessoaJuridica.SetCNPJ(const Value: TCNPJ);
  146. begin
  147.  
  148. end;
  149.  
  150. procedure TPessoaJuridica.SetNomeFantasia(const Value: String);
  151. begin
  152.  
  153. end;
  154.  
  155. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement