- . : , ; , ; ; - . - . .
-
. : - .
. .
- ( ) . () , , .
- , , . , - . . [22], [32], [41], [59], [64], [66].
. - , () , . , , , , , , , .
, . , .
, . . .
: , (). . :
q ;
q ;
q .
. Ada 95 [4]:
Package _ is
subtype is Float range...
|
|
subtype is Natural range...
type is tagged private;
function (: )
return :
function (the: )
return ;
procedure (the: in out ;
: );
private
--
end _;
, (, , ). , . . , , . , :
: ;
: ;
: ;
: , , . . .
. .
: .
:
q ;
q ;
q ;
q ;
q .
with _. _;
use _. _;
Package _ is
type is (, );
subtype is Natural range...
type is tagged private;
function (: ;
: ; ; )
return ;
procedure (the: in out );
procedure (1: in out );
procedure (11: in out
);
procedure (the: in out
);
Function OnpocCoc(the: )
eturn ;
private
type _ is access all ;
type is tagged record
; ;
: ;
: _;
end record;
end _;
, , , . : , , . .
. .
C++, Object Pascal, Ada 95 . . , , . , .
|
|
.
: , . , . .
, . , .
Ada 95 .
: () . , . .
1. :
with _, _;
use _, _;
Package _ is
2. :
Package _ is
type is tagged private;
type is tagged private;
-------------------------
:
q ( );
q ( );
q ( ).
. .
.
- :
q (is a -);
q (part of -).
is - . , , ( ) ( ) .
: , 2- - 1- , . 2- , :
with _1; use _1;
Package _2 is
type is (. );
type 2 is new 1 with private;
procedure : in out 2:
: ; : ;
: _; : );
procedure (the: 2;
:);
function (the: 2)
return ;
function (the: 2)
return Boolean;
private
type 2 is new 1
with record
: ; : ;
: Boolean;
end record;
end _2;
, 2 is - 1, .
|
|
2 :
q ;
q (, , );
q (, , ).
, 2 . , 2 1. , 2 1, -, , .
1 2 . , (). , , , . -.
. , 2, .
part of- . , - . , , , . :
1) ;
2) .
( ):
with _. _;
use _, _;
Package _ is
type is tagged private;
--
private
type _ is access all 'Class;
type is record
: array(1..30) of _;
: ;
end record;
end _;
, , . . . , . , . , . , . , , , .
. () ( ), ( , ).
, .