.


:




:

































 

 

 

 


4.




 

, , . . . ᒺ (. prt of).

 

:

 

type TRectangle=class

Points: array [1..4] of TPoint; // ᒺ- //

//

end;

 

var R1: TRectangle;

X1: Real;

//

X1:=R1.Points[1].X;

 

- (T1) (T2), , , : , .

 

 

TRectangle=class(TQuadrangle);

//

End;

 

TQuadrangle , TRectangle ( ).

(. inheritance). ³ ᒺ (. is a).

ᒺ . , Points TQuadrangle, ᒺ TRectangle. .

.

 

:

 

TPolygon → TQuadrangle → TRectangle → TSquare

 

TSquare TPolygon, TQuadrangle TRectangle.

.

. :

 

TFigure → TClosedFigure → TPolygon → TQuadrangle → TRectangle → TSquare

:

TFigure: Origin, Points (), Draw Rotate ();

TClosedFigure Perimeter ();

TQuadrangle Diagonal1, Diagonal2 ();

TRectangle Side1, Side2 ( ).

 

:

 

Points Origin, Draw Rotate, .

Perimeter TClosedFigure .

Diagonal TQuadrangle .

 

, . , virtual ( ). , , override.

, , , .

abstract. , , . , ᒺ .

 

type

TFigure=class

//

procedure Draw; virtual; abstract;

procedure Rotate (X, Y, Angle: Real); virtual; abstract;

end;

TClosedFigure=class(TFigure)

//

function Perimeter: Real; virtual;

//

end;

TPolygon=class(TClosedFigure)

//

end;

TQuadrangle=class(TPolygon)

//

procedure Draw; override;

procedure Rotate (X, Y, Angle: Real); override;

end;

TRectangle=class(TQuadrangle)

//

function Perimeter: Real; override;

//

end;

 

Perimeter TRectangle :

 

function TRectangle.Perimeter: Real;

begin

Perimeter:=(Side1+Side2)*2;

end;

 

  1. - () () .
  2. ( inherited). :

 

type

TFilledRectangle=class(TRectangle)

{}

 

procedure TFilledRectangle.Draw;

begin

inherited Draw;

Fill;

end;

 

5.

 

. . .

ᒺ ( ):

, , , ᒺ ᒺ - .

-ᒺ ( ).

(. polymorphism); , .

ᒺ ᒺ , !

 

:

 

var P1, P2: TPolygon; R1, R2: TRectangle;

//

P1:=R1; //

R2:=P2; //

 

ϳ P 1:= R 1, , TPolygon P 1, TRectangle .

Object Pascal . .

 

. .

ᒺ . ij, ᒺ . , , .

 

:

 

var P1: TPolygon; R1: TRectangle;

X1: Real;

//

P1:=R1;

X1:= P1.Perimeter; // ᒺ P1 - Perimeter

 

P 1 .Perimeter , PerimeterP 1 (TPolygon) , .

erimeter TRectangle . erimeter TRectangle, .

 

:

 

var Figures: array [1..4] of TFigure;

R: TRectangle; T: TTriangle; E: TEllipse; S: TSquare;

//

Figures[1]:= R;

Figures[2]:= T;

Figures[3]:= E;

Figures[4]:= S;

for i:=1 to 4 do

Figures[i].Draw;

 

4 Draw ( ), , Draw ( ) , .

 

ᒺ.

 

ᒺ, TObject:

function ClassName: ShortString;

is, :

 

var P: TPolygon; R:TRectangle;

//

P:=R;

 

if P is TRectangle then (P as TRectangle).Side1:=10;

 

is true, P TRectangle .

as p TRectangle.

 

, , ᒺ , ( ). , . .

, .

'+':

5 + 3 = 8 //

'5' + '3' = '53' //

(5) + (3) = (3, 5) //

.

 

Object Pascal , , overload. , , , overload reintroduce.

:

 

type

TNumber=class

function Add (X, Y: Integer): Integer; overload; // 1

Function Add (X, Y: Real): Real; overload; // 2

Function Add (X: Integer; Y: Real): Real; overload; // 3

Function Add (X: Real; Y: Integer): Real; overload; // 4

End;

 

Var N: TNumber;

A: Integer; B: Real;

 

A:=N.Add(1, 2); // 1

B:=N.Add(1.0, 2.0); // 2

B:=N.Add(1, 2.0); // 3

B:=N.Add(1.0, 2); // 4

 

, , , . ( X, Y) .

 

6.

 

Assembler. Assembler . , , Fortran ( ).

 

(Pascal, C)

- ;

- ;

- .

() , , .

, . (Re, Im), ().

(. units) ; :

- , ( uses);

- , , : (interface) , (implementation) .

, , . .

. , .

 

1. .

2. .

, , , .

, , .

 

г

  1. ( ).
  2. ( ).
  3. ( ).
  4. ( , ).
  5. ( ).

5, 4, 3, 2, 1.

 

г

  1. ( ).
  2. ( , , ).
  3. ( , , ).
  4. ( ).
  5. ( ).
  6. ( ).
  7. ( ) .

 

 

, .

, C M.

I. :

M :

  1. ;
  2. , M.
  3. .

1 2.

 

II. ᒺ:

ᒺ, :

1) ;

2) ;

3) ;

4) .

 

 

procedure TMyClass.Draw;

begin

Form1.Canvas.LineTo (10, 100); // ;

end;

 

procedure TMyClass.Draw (MyCanvas: TCanvas);

begin

MyCanvas.LineTo (10, 100); // ( 1);

end;

 

7.

Try

 

:

 

Program Text;

Var a, b: integer;

Begin

Readln (a, b); //

Writeln(a div b); // 0

End.

 

() ᒺ Exception , , . , 0, , .

, .

, HandleException TApplication.

( ), ᒺ , .

, , .

 

Exception

1) ³ TObject :

- ;

- ClassName ( ), : EZeroDivide, EOverflow, EConvertError, EInOutError.

2) 2 Exception

- Message ;

- HelpContext ( F 1) .

3) 8

Create

Create Fmt

Create Res

Create ResFmt

Create Help

Create FmtHelp

Create ResHelp

Create ResFmtHelp

 

Fmt = ;

Res = ;

Help = .

raise.

 

raise EZeroDivide.Create (ij );

raise EMyError.CreateFmt ( %d %d,[1, 2]);

 

.

: try, except, finally.

:

1) try

// , ( )

xcept

// ,

end;

 

.

 

{$R+}

procedure TForm1.Button1Click (Sender: TObject);

var A, B: Integer;

C: Shortint;

begin

try

A:= StrToInt (Edit1.Text);

B:= StrToInt (Edit2.Text);

C:= A div B;

except

on EConvertError do

MessageDlg ( , mtWarning, [mbOK], 0);

on EDivByZero do

MessageDlg ( , mtWarning, [mbOK], 0);

on EIntOverflow do

if (A*B)>=0 then C:=127 else C:=-128;

end;

Edit3.Text:=IntToStr(C);

End;

 

2) try

// ,

finally

// ( )

end;

 

.

 

procedure TForm1.Button1Click (Sender: TObject);

begin

Screen.Cursor:= crHourglass; //

j:= 0;

try

for i:=1000 downto 1 do

j:= j + j div i; //

finally

Screen.Cursor:= crDelault; //

end;

end;

8. ᒺ-

CRC

ij 䳿

, .

.

:

- ;

- , .

- .

- ;

- , , ᒺ . , .

.

1) () , .

2) (, ).

ᒺ- , ( ).

, , , .

:

1) ;

2) , .

CRC -.

, - , , .

: .

:

1) ;

2) ;

3) ;

4) ;

5) ³ ;

6) ClipBoard;

7) : , , , .

ij 䳿

.

( ).

( ᒺ 䳿).

:

1. -

2. (, ( ))

3.

4. , .

, , .

(User Manual), 䳿 .

() ( + ᒺ), .

:

1) , ;

2) _;

3) ;

4) ;

5) ;

6) , , .

CRC -.

:

. (), .

.

(. stub). .

:

- (. ptch);

- ( );

- .

˳:

  1. .. Delphi 6. . .: , 2001.
  2. . - . .: , 1997.
  3. . - ++. ., , ., , 2001.
  4. . Delphi 7 , , , 2004.
  5. . , . Borland Delphi 6. , ., , 2002.
  6. Meyer B. Object-Oriented Software Construction. London: Prentice Hall International, 1997.

 


ֲ

- ( 6.09.27)

( 6.08.04).

 

:

 

..

 

 

60x84 1/16. . 30 .

. . . 2,0

 





:


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


:

:

,
==> ...

1976 - | 1813 -


© 2015-2024 lektsii.org - -

: 0.26 .