.


:




:

































 

 

 

 


-




- :

.

. .

- -.

, . , . , .

. , . , . .

Object. :

 

Type

= Object

;

;

End;

 

. -, . , . - . , , , .

, , , .

 

Var Person: TPerson;

 

Person .

: Private Public. Private . , TPU‑. , . Public Private. , Public, .

 

Type

NewObject = Object {}

; {}

; {}

Private

; {}

; {}

Public

; {}

; {}

End;

- . :

 

Type

= Object ( )

;

;

End;

 

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

, . Person TPerson Student TStudent, :

Person:= Student;

Person , Student. . , , :

 

 .

 

, . , . .

. , , .

 

TPerson = Object

Name: string[25];

Dolgn: string[25];

Stavka: Real;

Procedure Init (Nm, Dg: String; Sv: Real);

Function GetName: String;

Function GetDolgn: String;

Function GetStavka: Real;

Procedure ShowName;

Procedure ShowDolgn;

Procedure ShowStavka;

end;

TStudent = Object (TPerson)

Ball: Real;

Procedure Init (Nm, Dg: String; Sv, Bl: Real);

Function GetBall: Real;

Function GetSum: Real;

Procedure ShowBall;

Procedure ShowSum;

Procedure ShowAll;

end;

 

TStudent : Name, Dolgn, Stavka TStudent ; Ball TStudent. ShowName, ShowDolgn, ShowStavka, ShowBall , , . GetSum Ball c . ShowAll .

Student TStudent :

 

With Student Do

Begin

Init (, , 100, 4.5);

ShowAll;

End;

 

:

 

Student. Init (, , 100, 4.5);

Student. ShowAll;

 

. , . EXE. , .

.

TStudent Init, , , Ball:

 

Procedure TStudent.Init;

Begin

TPerson.Init (Nm, Dg, Sv);

Ball:= Bl;

End;

 

, , Name, Dolgn Stavka, TPerson.

Inherited (). TStudent.Init :

 

Procedure TStudent.Init;

Begin

Inherited Init (Nm, Dg, Sv);

Ball:= Bl;

End;

 

. -.

TStaff:

 

TStaff = Object (TPerson)

Private

Bonus: Real;

Public

Procedure Init (Nm, Dg: String; Sv, Bn: Real);

Function GetSum: Real;

Procedure ShowSum;

Procedure ShowAll;

End;

 

, :

 

Function TStudent.GetSum: Real;

Begin

If Ball > 4.6 Then GetSum:= 1.5 * Stavka Else GetSum:= Stavka

End;

 

:

 

Function TStaff.GetSum: Real;

Begin

GetSum:= Stavka + Bonus

End;

 

, , :

 

TTeacher = Object (TStaff)

Private

Hours: Word;

HourRate: Real;

Public

Procedure Init (Nm, Dg: String; Sv, Bn, Hrt: Real; Hr: Word);

Function GetSum: Real;

Procedure ShowSum;

Procedure ShowAll;

End;

 

TTeacher.GetSum TStaff.GetSum , :

 

Function TTeacher.GetSum: Real;

Begin

GetSum:= TStaff.GetSum + Hours * HourRate

End;

 

, . , , .

With... Do.... . , .

TPerson, TStudent, TStaff TTeacher ShowSum ShowAll. TStudent :

 

Procedure TStudent.ShowSum;

Begin

Writeln (GetSum);

End;

 

Teacher :

 

Procedure Teacher.ShowSum;

Begin

Writeln (GetSum);

End;

 

Teacher ShowSum TStaff, TStaff TStudent. , : ? , ShowSum Teacher ShowSum TStaff, . Teacher ShowSum TStaff, GetSum, , TStaff. .

, TPerson, TStudent, TStaff TTeacher, . , . , , :

1. , .

2. , . , .

3. , , , . , , .

4. , . .

, .

TTeacher TStaff, TStaff.GetSum. TStaff.ShowSum, TStaff.GetSum. , TStaff.GetSum TStaff.ShowSum . , :

 

Procedure TStaff.ShowSum;

Begin

Writeln (TStaff.GetSum);

End;

 

TStaff TTeacher.

, , , , . , . .

, Virtual:

 

Procedure (); Virtual;

Function (): ; Virtual;

 

:

1. , , , . , .

2. , .

3. , ( Init). Procedure Constructor. , . .

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

. , . .

:

 

TPerson = Object

Name: string[25];

Dolgn: string[25];

Stavka: Real;

Constructor Init (Nm, Dg: String; Sv: Real);

Function GetName: String;

Function GetDolgn: String;

Function GetStavka: Real;

Procedure ShowAll; Virtual;

end;

TStudent = Object (TPerson)

Ball: Real;

Constructor Init (Nm, Dg: String; Sv, Bl: Real);

Function GetBall: Real;

Function GetSum: Real; Virtual;

Procedure ShowAll; Virtual;

end;

TStaff = Object (TPerson)

Private

Bonus: Real;

Public

Constructor Init (Nm, Dg: String; Sv, Bn: Real);

Function GetSum: Real; Virtual;

Procedure ShowSum; Virtual;

Procedure ShowAll; Virtual

End;

TTeacher = Object (TStaff)

Private

Hours: Word;

HourRate: Real;

Public

Constructor Init (Nm, Dg: String; Sv, Bn, Hrt: Real; Hr: Word);

Function GetSum: Real; Virtual;

Procedure ShowAll; Virtual

End;

 

ShowSum TTeacher. ShowSum TStaff , TTeacher.

, . .

, . , , . () , , , .

, , , . New, :

 

Var p: ^TPerson;

...

New (p);

 

New , , , .

, :

 

p^.Init (, , 400)

 

New. New . , :

 

New (p, Init (, , 400));

 

 

Dispose (p);

 

. , . . Destructor. , , . Done . . . , , , . , Dispose , New.

 

Dispose (p, Done);

 

. . , , Dispose, . , , , , Destructor.

 

Destructor TPerson.Done;

Begin

End;

 

, TStaff, , :

 

Destructor TStaff.Done;

Begin

Inherited Done;

End;





:


: 2016-11-18; !; : 1230 |


:

:

, .
==> ...

1354 - | 1247 -


© 2015-2024 lektsii.org - -

: 0.088 .