- .
. , . , (). , (). : , , .. : , ..
. , . () , . , . , , .
. . . .
, ( ). , , . . ( ) . C++:
class Person { int number; -- char name[10]; -- int age; -- float height; -- }; |
, , :
Person | int | Number | |||
Person | char[] | Name | |||
Person | int | Age | |||
Person | float | Height |
:
, , , . , .
|
|
. , .
, . ( , ) . , . . ,
- , ,
- , , ,
- :
1
, - ( ), ( ). .
- . . , , . , . . , . , , - . .
C++:
class Person { float aMethod (int param1, float param2, char * param 3); }; |
, :
, , static:
class Person { static float aMethod (int param1, float param2, char * param 3); }; |
:
. , , . . , . . , .
, :
class Person { int number; -- static int personCnt; -- char name[10]; -- int age; -- float height; -- }; |
, :
|
|
.
. , , . C++:
class Person { float aMethod (int param1, float param2, char * param 3) const; }; |
- .
- : (-, -) (-). , . , , ,
class Driver: public Person { char drivingLicence[10]; -- }; |
:
: , .
, - - . Java C# , .
. , .
() : . ( ) . , :
2
.
, , . () . , , ( ). .
, , , , , , . , , vmtPtr ( ), :
. , . , , , , . , , vmtPtr , . , :
|
|
Person * p = new Driver; |
, p , vmtPtr .
:
- , , ( , );
- ;
- .
, . , , . . , . . C++:
Person * p = new Driver; p->aMethod(); |
, aMethod . , aMethod , . , ( p ).
, , . , aMethod ( ) :
. M1 M2 . M1 Person::aMethod, Driver::aMethod . M1 23. , . , , , Person::aMethod, Driver::aMethod.
, . , C++ :
Person * p = new Driver; p->Person::aMethod(); |
, aMethod , . , aMethod , :
. , (), (). , , . , . , , . , ,
|
|
Person * p = new Driver; |
,
Person * p = new Person; |
.
, . , , . , , .
, : . ,
Person * p[]; |
, :
, , . , , .
, . , . , , , ( , . ).
, . , , . , , ( ). , , :
Person * p = new Driver; |
, ,
Person * p = new Driver (10); |
, . , , .
, . , , - . , C++ :
class Driver: public Person { Driver ():Person(0){} }; |
, .
, . , . ,
class Driver: public Person { }; |
, .
, . , , . , , . , ( ). , , , - . , (, ), , . , , , , , .
|
|
, , . , . , , , , .
. , , , , , . :
Person * p = new Driver; delete p; |
, , , , , . , , , , .
( ) : , . .
, . ( ). .
, . . ( ).
. , . . , , ( ), . , :
void methodA (int x, float y) { int c; methodB (x, y, c); -- X } void methodB (int x, float y, int d) { int c; -- Y } |
Y :
X :
. , C++ . . , , . Java, , : , . , . Java- , , - .
, , , : , .