.


:




:

































 

 

 

 


I.

1. , .

, , . . , , .

2. , .

- , .

3. , , .

, .

II.

TYPE

<_>=OBJECT

<_>:<_>;

<>;

END;

, , . , , , , 2 :

<_>.<_>

III.

, , . , , OBJECT .

.

1. , ; .

2. , , , ; , , ; , , .

.

, , .

:

;

, , .

IV.

.

, . , , .

, , , , . . .

().

, VIRTUAL .

(), , . , . , , , . . , . .

.

- , .

, . , , , . .

, PROCEDURE CONSTRUCTOR.

.

- .

.

. . PROCEDURE DESTRUCTOR . , .

V.

1. : .

2. : x, y v /.

3. :

type

POINT=object

X, Y: integer; {}

V: boolean; { : TRUE-; FALSE-}

function GET_X: integer; { }

function GET_Y: integer; { Y }

function GET_V: boolean; { }

procedure INIT(X0, Y0: integer); { }

procedure TURN_ON; { }

procedure TURN_OFF; { }

procedure MOVE(XN, YN: integer); { }

end;

4. POINT:

function POINT.GET_X; { }

begin

GET_X:=X;

end;

function POINT.GET_Y; { Y }

begin

GET_Y:=Y;

end;

function POINT.GET_V; { }

begin

GET_V:=V;

end;

procedure POINT.INIT; { }

begin

X:=X0;

Y:=Y0;

V:=false;

end;

procedure POINT.TURN_ON; { }

begin

if not V then

begin

PutPixel(X,Y,GetColor); { GetColor }

V:=true;

end;

end;

procedure POINT.TURN_OFF; { }

begin

if V then

begin

PutPixel(X,Y,GetBkColor); { GetBkColor }

V:=false;

end;

end;

procedure POINT.MOVE; { }

var

F: boolean;

begin

F:=V;

if F then

TURN_OFF;

X:=XN;

Y:=YN;

if F then

TURN_ON;

end;

.

, , , , , , , , , : ; ; ( ). , PLACE (), , , X Y:

type

PLACE=object

X, Y: integer;

procedure INIT(X0, Y0: integer);

function GET_X: integer;

function GET_Y: integer;

end;

{ }

, , . , OBJECT .

PLACE , POINT :

type

POINT=object(PLACE)

V: boolean;

procedure INIT(X0, Y0: integer);

function GET_V:boolean;

procedure TURN_ON;

procedure TURN_OFF;

procedure MOVE(XN, YN: integer);

end;

{ }

6. , , .

c POINT :

type

CIRCL=object(POINT)

R: integer;

procedure INIT(X0, Y0, R0: integer); { }

procedure TURN_ON; { }

procedure TURN_OFF; { }

procedure MOVE(XN, YN: integer); { }

function GET_R: integer; { }

end;

:

procedure CIRCL.INIT;

begin

X:=X0; Y:=Y0;

R:=R0;

V:=false;

end;

procedure CIRCL.TURN_ON;

begin

V:=true;

CIRCLE(X,Y,R);

end;

procedure CIRCL.TURN_OFF;

var

C: byte;

begin

C:=GetColor;

SetColor(GetBkColor); { }

Circle(X,Y,R);

V:=false;

SetColor(C);

end;

procedure CIRCL.MOVE;

var

F: boolean;

begin

F:=V;

if F then

TURN_OFF;

X:=XN;

Y:=YN;

if F then

TURN_ON;

end;

function CIRCL.GET_R;

begin

GET_R:=R;

end;

 

CIRCL.MOVE POINT.MOVE, ; CIRCL.MOVE CIRCL.TURN_ON CIRCL.TURN_OFF, POINT.MOVE POINT.TURN_ON POINT.TURN_OFF.

.

( ).

, , CIRCL MOVE POINT. TURN_ON TURN_OFF , .

, . MOVE TURN_ON, TURN_OFF, . . MOVE , . . .

- , .

PLACE, POINT CIRCL :

type

PLACE=object

X,Y: integer;

constructor INIT(X0, Y0: integer);

function GET_X: integer;

function GET_Y: integer;

end;

POINT=object(PLACE)

V: boolean;

constructor INIT(X0, Y0: integer);

function GET_V: boolean;

procedure TURN_ON; virtual;

procedure TURN_OFF;virtual;

procedure MOVE(XN, YN: integer);

end;

CIRCL=object(POINT)

R: integer;

constructor INIT(X0, Y0, R0: integer);

function GET_R: integer;

procedure TURN_ON; virtual;

procedure TURN_OFF; virtual;

end;

, , , .

, , DISPOSE:

DISPOSE (<_>, <_>);

:

DESTRUCTOR <>;

BEGIN

END;

DESTRUCTOR.



<== | ==>
| - -
:


: 2016-07-29; !; : 761 |


:

:

.
==> ...

2012 - | 1885 -


© 2015-2024 lektsii.org - -

: 0.065 .