程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> OC基礎:繼承.初始化方法,便利構造器

OC基礎:繼承.初始化方法,便利構造器

編輯:關於C語言

OC基礎:繼承.初始化方法,便利構造器


繼承:

1.單向繼承,一個類只能有一個父類,一個父類可以有多個子類.

2.單向繼承,基類(根類)是OSObject

3.子類可以繼承父類的屬性和方法

 

當父類的方法不滿足子類的需求時,子類可以重寫父類的方法,重寫父類的方法,在子類中不需要再次聲明.

1.完全重寫

2.部分重寫 使用super

 

建立繼承關系之後,子類可以繼承父類的:

1.實例變量,@public@protected修飾情況之下

2.公開的方法

一個方法如果在.h中聲明了,那麼這個方法就是公開的方法,如果沒有聲明,則是私有的.

OC中沒有絕對私有的方法.

 

子類調用方法的過程:

先在本類中尋找方法,如果找到就直接調用,如果沒有找到就在其父類中尋找,如果在父類中也沒有找到,就繼續其次向上尋找(父類的父類),直到找到為止.

如果找不到就拋出異常,引起crash.

 

對象對對象可以賦值,對象就是指針.

 

自定義初始化方法不需要在.h文件中聲明.因為是重寫了該方法.

 

 

 

遍歷構造器一定是一個類方法

返回值類型(id,instancetype)

 

 

自定義初始化方法:初始化+賦值.

便利構造器:開辟空間+初始化+賦值.

 

自定義初始化方法:

 

 

-(id)initWithColor:(NSString *)color

price:(NSString *)price{

if (self=[super init]) {

_price = price;

_color = color;

}

return self;

}

便利構造器:

 

 

+(id)appleWithColor:(NSString *)color

price:(NSString *)price{

Apple *apple=[[Apple alloc]initWithColor:color price:price];

return apple;

}



 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved