home *** CD-ROM | disk | FTP | other *** search
- Listing 4
-
- TParent = class(TObject)
- public
- procedure DecideEarly;
- procedure DecideLate; virtual;
- end;
- TChild = class(TParent)
- public
- procedure DecideEarly;
- procedure DecideLate; override;
- end;
- ...
- Parent: TParent;
- Child: TChild;
- ParentalChild: TParent;
- ...
- Parent := TParent.Create;
- Child := TChild.Create;
- ParentalChild := TChild.Create; // TChild assigned to TParent!
- // early bound (non-virtual) calls
- Parent.DecideEarly; // TParent version called
- Child.DecideEarly; // TChild version called
- ParentalChild.DecideEarly; // TParent version called
- // late bound (virtual) calls
- Parent.DecideLate; // TParent version called
- Child.DecideLate; // TChild version called
- ParentalChild.DecideLate; // TChild version called
-