-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProject.Interfaces.pas
More file actions
45 lines (37 loc) · 1.26 KB
/
Project.Interfaces.pas
File metadata and controls
45 lines (37 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Project.Interfaces;
interface
type
iEndereco<T> = interface;
iPessoaFisica<T> = interface;
iPessoaJuridica<T> = interface;
iEndereco<T> = interface
['{7F0F0C8B-B714-4BA8-831E-4A15D285FC21}']
function Rua ( aValue : String ) : iEndereco<T>; overload;
function Rua : String; overload;
function Numero ( aValue : Integer ) : iEndereco<T>; overload;
function Numero : Integer; overload;
function &End : T;
end;
iPessoa = interface
['{40983515-F8A6-4803-8D5B-386AF5905E10}']
function PessoaFisica : iPessoaFisica<iPessoa>;
function PessoaJuridica : iPessoaJuridica<iPessoa>;
function Nome ( aValue : String ) : iPessoa; overload;
function Nome : String; overload;
end;
iPessoaFisica<T> = interface
['{BA97123F-5B75-466B-8F3C-D2DA3FDE9267}']
function Endereco : iEndereco<iPessoaFisica<T>>;
function CPF ( aValue : String ) : iPessoaFisica<T>; overload;
function CPF : String; overload;
function &End : T;
end;
iPessoaJuridica<T> = interface
['{3D0D4CB3-BCAE-4205-8F92-F2E01143454A}']
function Endereco : iEndereco<iPessoaJuridica<T>>;
function CNPJ ( aValue : String ) : iPessoaJuridica<T>; overload;
function CNPJ : String; overload;
function &End : T;
end;
implementation
end.