閱讀131 返回首頁    go 技術社區[雲棲]


obj-c編程03:多個參數方法的定義

    好吧,雖說本貓不能自吹精通十幾種語言,但是也見過十幾種語言的語法啊.像obj-c這樣奇葩,或者說另類的寫法還是頭一次見到,完整寫法我都不知道怎麼起方法名了快哭了.雖說有簡短寫法,可和C比起來那個"繁瑣"啊,更別說ruby了,我感覺asm都別他簡單些哦.

    好了,廢話不說了,現在我們為Box類添加一個新的實例方法,一次性設置l和w的值,就是說該方法有2個參數哦.我們為它起名為...為....為不出來鳥.勉強起 set_l: and_w: 吧:

#import <Foundation/Foundation.h>

@interface Box:NSObject{
	int l;
	int w;
}
	@property int l,w;
	-(void)set_l :(int)l and_w:(int)w; 
	-(void)print;
@end

實現如下:

-(void)set_l:(int)l_v and_w:(int)w_v{
		l = l_v;
		w = w_v;
	}

調用如下:

[box set_l:1001 and_w:1002];

這個是否繼承了smalltalk的基因哦?我不確定,但我確定一定有更簡單的寫法,那些語言黑客的KISS原則哪去了?bingo!果然有,寫法如下:

-(void)set_all :(int)l :(int)w;

-(void)set_all:(int)l_v :(int)w_v{
		l = l_v;
		w = w_v;
	}

[box set_all:2001:2002];

還好還好大哭,沒有讓我一上來就對obj-c感到最大驚奇啊!

最後更新:2017-04-03 06:03:06

  上一篇:go 三層架構(一)——什麼是三層架構?
  下一篇:go 【AllJoyn框架-03】官方示例程序basic簡單剖析