GUI版Hello World
#import <Cocoa/Cocoa.h> @interface AppController : NSObject { IBOutlet id textField; } - (IBAction)sayHello:(id)sender; @end
#import "AppController.h" @implementation AppController - (IBAction)sayHello:(id)sender { [textField setStringValue:@"Hello World!"]; } @end
かなり独特な言語な気がする。ボタンに関するコードが出てこない。アウトレットとアクションの接続はInterface Builderで行うからか。むむむ。
コマンドラインプログラムの例だと以下のような感じ。
#import <Cocoa/Cocoa.h> @interface MyObject : NSObject { int count; int index; } -(int)count; -(int)index; -(void)setCount:(int)cnt; -(void)setCount:(int)cnt andIndex:(int)i; @end
#import "MyObject.h" @implementation MyObject -(int)count { return count; } -(int)index { return index; } -(void)setCount:(int)cnt { count=cnt; } -(void)setCount:(int)cnt andIndex:(int)i { count=cnt; index=i; } @end
#import <Foundation/Foundation.h> #import "MyObject.h" int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; MyObject* object = [[MyObject alloc] init]; [object setCount:12 andIndex:6]; int count; count=[object count]; int index; index=[object index]; NSLog(@"count is %d", count); NSLog(@"index is %d", index); [object release]; [pool release]; return 0; }
実行結果
2008-09-16 22:13:53.407 ObjC Test[696:10b] count is 12
2008-09-16 22:13:53.409 ObjC Test[696:10b] index is 6
javaだと
public class MyObject extends Object { private int count; private int index; public int count() { return count; } public int index() { return index; } public void setCount(int cnt) { count=cnt; } public void setCountAndIndex(int cnt, int i) { count=cnt; index=i; } }
public class Main { public static void main(String[] args) { MyObject object = new MyObject(); object.setCountAndIndex(12, 6); int count; count=object.count(); int index; index=object.index(); System.out.println("count is "+count); System.out.println("index is "+index); object=null; } }
こんな感じかな。
参考:
- 作者: 木下誠
- 出版社/メーカー: ビー・エヌ・エヌ新社
- 発売日: 2008/08/30
- メディア: 単行本(ソフトカバー)
- 購入: 19人 クリック: 165回
- この商品を含むブログ (113件) を見る
サンプルコードのダウンロード
BNN新社「たのしいCocoaプログラミング[Leopard対応版]」サンプルファイルダウンロード