OC基礎班第一天

   什麼叫類和對象   

  01.


 :是具有相同特徵和共同行爲的集合

 對象:就是累的具體實體

  方法 就是累具有什麼行爲 能幹什麼

eg:

 類名:Teacher       類

 屬性:姓名年齡工資性別所教的課程    對象  

  行爲:上課批作業叫家長    方法

  

 殭屍

 類名:Zoombie   類

 屬性:血量速度攻擊力防禦力  對象

 行爲:   方法

02.類是分爲2部分的一個是聲明一個是實現

所謂聲明就是在@interface中進行說明有哪些對象,以及方法

格式

@interface 類名 : 父類名(NSObject)

 {

 //定義實例變量

 

 }

 

 //定義類的行爲聲明

 @end

 

所謂類的實現就是實現聲明中的反法 

  類的實現的格式:

 @implementation 類名

 類行爲的具體實現

 

 @end


03。怎麼樣在main函數中訪問對象呢?

 1.要在聲明中確定對象要是公共的在開頭寫一個@publice在任何地方都能訪問

但要訪問首先要創建對象創建對象的格式

類名 *隨便定義一個對象=[類名   new];

或者 

類名 *隨便定義一個變量=[[類名  alloc ]  init ];

這裏new做了三件事


 1.申請內存空間

 2.初始化類中的實例變量

 3.返回對象內存地址

當然  alloc申請一個空間 
        intit 初始化變量

2.給對象賦值

對象名->_實例變量;

對象名->_實例變量;

對象名->_實例變量;


打印當然是用

NSLog(@“    ” 對象名->_實例變量,對象名->_實例變量; );


4.那麼聲明中的方法呢

01.聲明方法的格式

-(返回值類型)方法名{

}

eg:

-(int )sum;

02.實現的方法格式

就是把聲明的格式拷過來然後把分號去掉加{

裏面寫他的具體實現的步驟

}

eg:

-(int)sum{

       num1+num2=sum

return 0;

}; 



聲明多個呢?

格式:

- (返回值類型)方法名1:(參數類型)參數名1 and方法名2:(參數類型)參數名;

實現就是
把他拷過來分號去掉加上大括號裏面寫具體實現步驟


在mian函數中怎麼調用呢?

調用格式:

[對象名   方法名  ];


綜合所有  看

/*

 類名:蘋果手機(IPhone) 

 屬性:

 顏色(_color ), 大小(_size), _cpu 

 行爲:

 查看本機信息(aboutMyPhone),

 打電話(callPhone), 

 發短信 (sendMessage)

 

 實現該類,:

 1)查看本機信息

 2)打電話給10086

 3)10086發短信問聯通的客服電話是多少

 

 */


#import <Foundation/Foundation.h>

typedef enum{

    // 0            1           2

    kColorWhite, kColorGold, kColorBlack

}Color;


//類的聲明

@interface IPhone : NSObject

{

    @public

    //定義實例變量

    Color _color;//顏色

   float _size; //大小

    NSString *_cpu;//cpu

    

}



//方法的聲明

//查看本機信息

- (void)aboutMyPhone;


//打電話

- (void)callPhone:(NSString *)telNum;

//發短信

- (void)sendMessage:(NSString *)telNum andContent:(NSString *)content;


@end



//類的實現

@implementation IPhone


//方法的實現

//查看本機信息

- (void)aboutMyPhone{

    NSLog(@"顏色:%d,大小:%.2f, cpu:%@", _color, _size, _cpu);

}


//打電話

- (void)callPhone:(NSString *)telNum{

    NSLog(@"%@打電話", telNum);

}


//發短信

- (void)sendMessage:(NSString *)telNum andContent:(NSString *)content{

    NSLog(@"%@發短信,短信內容:%@", telNum, content);

}


@end


int main(int argc,const char * argv[]) {

    @autoreleasepool {

       

       //創建對象

        IPhone *ip = [IPhone new];

        //給實例變量賦值

        ip->_color = kColorGold;

        ip->_size =7.5f;

        ip->_cpu =@"A10";

        

       //調用方法

        [ip aboutMyPhone];

        

        [ip callPhone:@"10086"];

        

        [ip sendMessage:@"10086" andContent:@"你好,聯通客服電話是多少?"];

        

        

        

    }

   return 0;

}


發佈了16 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章