oc的第三天

封裝&對象的關係
1,類方法
就是在.h文件中聲明以但是與之前的格式有所不同
格式:
+(返回值類型)方法名:( 參數類型) 參數 and參數2:(參數類型)參數2;
2.對象方與類方法不同的
就是對象方法以減號開頭
在main函數中調用時也不一樣
3.在main函數中使用類方法的流程
首先要先創建對象
[類名   類的方法名 :給參數賦值 ];
4.注意
1,類方法不可以使用實例變量,如果要用必須通過參數傳過來。
2,類方法可以調用當前類其他類的方法
   [類名  類的方法名];
3,對象方法可以使用實例變量,類方法不可以使用

2,匿名對象
1,可以放訪問實際變量,匿名對象訪問實例變量只能使用一次
格式:[類名  new] ->_實例變量=賦值 ;
或者
[[類名 alloc]  init];
new =alloc init
alloc 申請空間
init 初始化
調用方法
[[ 類名  new]  方法名];
2,匿名作爲方法參數的連續傳遞
比如人要開車回家
人要調用車才能回家

可讀性差

        [[Person new] goHome:[Car new]]; 

3封裝        

原理  給實際變量供一個能修改其方法和獲取值的方法
利用 set和get 分別在.H和.m文件中進行封裝
1,set的命名規範
  

 1set方法一定是一個對象方法(以 -開頭)

 2set方法一定沒有返回值void

 3) set方法的方法名一定是以set開頭,後面跟去掉下劃線的實例變量名,而且首字母要大寫

 4set方法一定有參數,參數類型和實例變量的類型要一致

 5set方法的形參的名稱,一般建議是去掉下劃線的實例變量名

 

 6set方法的實現中一定要給實例變量賦值

 

 

        2get方法(獲取實例變量的值)

 

命名規範:

 

 1get方法一定是一個對象方法

 2get方法一定有返回值,返回值類型必須和實例變量的類型一致

 3get方法的方法名,一定是去掉下劃線的實例變量名

 

 4get方法的實現中,一定要返回實例變量值

 */

2,倆者必須同時出現
比如在。h函數中聲明

//set方法

-(void)setName:(NSString *)name;

//get方法

-(NSString *)name;
在。m文件中實現
也就是直接把聲明方法調過來然後把分號去掉加上大括號
在{  

在起內部一定要給實例變量賦值
也可以在內部進行過濾 將一些不合實際的過濾調

 }
-(void)setName:(NSString *)name{
_name=name;


記住它沒有返回值
}

-(NSString *)name{
在get方法中一定要有返回值
return _name;
}

3,在main函數中怎樣調用?
首先還是要創建對象
然後給實例變量賦值
[指針  set實例變量:賦值];


4,依賴關係,人需要手機打電話
  、格式
     人    打電話   手機 

4,static關鍵字的使用
static不能在聲明中修飾實例變量
但是可以修飾局部變量和全局變量 
不能修飾方法

這寫修飾全局和局部都是在。m文件中使用





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章