Objective-C | Delphi |
@interface Rectangle: GeometricObject { @private float with; float height; } +(void)aClassMethod; -(id)init; -(id)dealloc; -(void)setSize:(float)aWidth:(float)aHeight; @end | interface type Rectangle = class(GeometricObject) private width: extended; height: extended; public constructor create; virtual; destructor destroy; class aClassMethod; virtual; procedure setSize(aWidth, aHeight: extended); virtual; end; class procedure Rectangle.aClassMethod; begin ... end; constructor Rectangle.create; begin inherited create; width:=0; height:=0; end; destructor Rectangle.destroy; begin ... inherited destroy; end; procedure Rectangle.setSize(aWidth, aHeight: extended); begin width:=aWidth; height:=aHeight; end; end. |
#import "Rectangle.h" @implementation Rectangle +(void)aClassMethod { ... } -(id)init { [super init]; width=0; height=0; return self; } -(id)dealloc { ... [super dealloc] } -(void)setSize:(float)aWidth:(float)aHeight { width=aWidth; height=aHeight; } @end | |
#include void main() { id anyObject; Rectangle *aRect; anyObject = [[Rectangle alloc] init]; [anyObject setSize:1:2]; // this is dynamic! if ([anyObject respondsTo: @selector(setSize::)]) [anyObject setSize:1:2]; // this is save! aRect = [[Rectangle alloc] init]; [aRect setSize:10:5]; [aRect free]; [aRect free]; exit (0); } | uses rectangle.pas; var anyObject: TObject; aRect: Rectangle; begin anyObject:=Rectangle.create; // anyObject.setSize(1,2); NOT POSSIBLE! aRect:=Rectangle.create; aRect.setSize(10,5); aRect.free; anyObject.free; halt(0); end. |
Monday, June 1, 2009
Objective-C vs. Delphi: Syntax
更多精彩请到 http://www.139ya.com
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment