OC語言day01-08第一個OC方法2

pragma mark 第一個OC方法2

pragma mark 概念

/**
 // OC中的類方法用 + 表示, OC中的對象方法用 -  表示
 */

pragma mark 代碼

#import <Foundation/Foundation.h>

/*
 事物名稱:iPhone
 屬性: 顏色, 型號, CPU, 尺寸        == 成員變量
 行為: 打電話, 發(fā)短信, 上網(wǎng), 獲取本機(jī)信息        == 成員方法
 */
// 1.編寫類的聲明
@interface IPhone : NSObject
{
@public
    float _model; // 型號
    int _cpu;    // CPU
    double _size; // 尺寸
    int _color;  // 顏色
}

// 行為
// OC中的行為 和 C語言中的函數(shù)一樣, 都是用來保存一段特定功能的代碼
// C語言中定義一個函數(shù), 分為聲明和實現(xiàn) , 聲明寫在.h中, 實現(xiàn)寫在.c中
// OC中定義一個方法, 也分為聲明和實現(xiàn), 聲明寫在interface中, 實現(xiàn)寫在@implmentation中

// C語言的函數(shù)分兩種 : 內(nèi)部函數(shù)和外部函數(shù)
// OC中的方法也分為兩種; 類方法和對象方法
// 類方法職能用類名調(diào)用, 對象方法職能用對象調(diào)用
// OC中的類方法用 + 表示, OC中的對象方法用 -  表示
// 編寫C語言函數(shù)的規(guī)律: 1.確定函數(shù)名稱 2.確定形參 3.確定返回值 4.確定返回值類型
// 編寫OC方法也有規(guī)律, 規(guī)律和C語言一模一樣

// C語言函數(shù)
//void about()
//{
//    printf("model = cpu = size = color");
//}

#warning oc方法 聲明
// OC 方法
// 注意: OC中的方法, 如果沒有形參不需要寫(), 而是直接寫一個;
// 為什么OC沒有形參不需要寫()呢? 因為OC方法中的()有特殊的用途,OC方法中的() 是用來 擴(kuò)住數(shù)據(jù)類型的
-(void)about;

// C語言的函數(shù):
// 沒有返回值 沒有參數(shù)的
// 有才返回值 沒參數(shù)的
// 有返回值 有參數(shù)
// 沒有返回值 有參數(shù)

// 有返回值沒有參數(shù): 請讀取短信
- (char *)loadMessage;
// 有返回值有參數(shù)的, 打電話
// int singnal(int number);
// 注意: OC中的方法如果有參數(shù),那么每個參數(shù)的數(shù)據(jù)類型前面必須加上一個
// 注意: 當(dāng)前這個有參數(shù)的方法名稱是:singnal
//      冒號也是方法名稱的一部分
- (int)singnal:(int)number;

// 有返回值并且多個參數(shù),發(fā)短信
// int sendMessage(int number, char *content);
// 下面的方法的名稱, sendMessage::
- (int)sendMessage:(int)number : (char *)content;

// 為了提高我們的閱讀性,OC方法允許我們給每個參數(shù)添加上一個標(biāo)簽, 來說明當(dāng)前參數(shù)的定義
// 注意: 標(biāo)簽也是方法名的一部分
// 方法名 sendMessageWithNumber:andContent:
- (int)sendMessageWithNumber:(int)number andContent: (char *)content;

@end

@implementation IPhone
#warning oc方法 實現(xiàn)
// 行為的實現(xiàn)
-(void)about
{
    // 如果在對象方法中想訪問該對象的屬性, 可以直接寫上 _屬性名稱即可
//    NSLog(@"打印本機(jī)信息");
    NSLog(@"打印本機(jī)信息 %f",_model,_cpu,_size,_color);
}

- (char *)loadMessage
{
    return "我";
}

int singnal(int number)
{
    return 1;
}

- (int)singnal:(int)number
{
    NSLog(@"打電話給%i",number);
    return 22;
}

- (int)sendMessage:(int)number : (char *)content
{
    NSLog(@"發(fā)短信 %i,內(nèi)容 = %s",number,content);
    return 33;
}

@end

int main(int argc, const char * argv[])
{
    
    // 通過類創(chuàng)建對象
    IPhone *p = [IPhone new];
    p->_size = 5.5; //is protected(是 受保護(hù)的)
    p-> _color = 0;
    p->_model = 4;
    p->_cpu = 22;
    
    // 獲取對象的屬性
    NSLog(@"size = %f,color = %i,model = %f,cpu = %i",p->_size,p->_color,p->_model,p->_cpu);
    // OC中的類 其實 本質(zhì)就是一個結(jié)構(gòu)體, 所以p這個指針 其實就是指向了一個結(jié)構(gòu)體
    // 如何給對象發(fā)消息 (如何調(diào)用對象方法)
    [p about];
    
    // 注意: OC中的NSLog對C語言的字符串支持不是很好,如果返回的中文的C語言字符串 可能編譯出現(xiàn)的亂碼,也有可能什么都不輸出
    char *content = [p loadMessage];
    NSLog(@"conteent = %s",content);
    [p singnal:1234];
    [p sendMessage:1332918282 :"luck"];
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末待诅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌己莺,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鸯屿,居然都是意外死亡止潮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門吴汪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惠窄,“玉大人,你說我怎么就攤上這事漾橙「巳冢” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵霜运,是天一觀的道長脾歇。 經(jīng)常有香客問我,道長淘捡,這世上最難降的妖魔是什么藕各? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮焦除,結(jié)果婚禮上座韵,老公的妹妹穿的比我還像新娘。我一直安慰自己踢京,他們只是感情好誉碴,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓣距,像睡著了一般黔帕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蹈丸,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天成黄,我揣著相機(jī)與錄音呐芥,去河邊找鬼。 笑死奋岁,一個胖子當(dāng)著我的面吹牛思瘟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闻伶,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼滨攻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蓝翰?” 一聲冷哼從身側(cè)響起光绕,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎畜份,沒想到半個月后诞帐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爆雹,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡停蕉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钙态。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谷徙。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖驯绎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谋旦,我是刑警寧澤剩失,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站册着,受9級特大地震影響拴孤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜甲捏,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一演熟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧司顿,春花似錦芒粹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钦奋,卻和暖如春座云,著一層夾襖步出監(jiān)牢的瞬間疙赠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工朦拖, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留圃阳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓璧帝,卻偏偏與公主長得像捍岳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子裸弦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容