91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

object-c中的繼承

發布時間:2020-07-09 07:30:13 來源:網絡 閱讀:559 作者:Mr_Dai 欄目:開發技術

在面向對象的語言中都會由繼承這種語法,而繼承我們通常使用is a 來確定繼承的關系,在objcet-c中繼承是使用冒號來確定繼承的,從下面的例子來了解繼承:

1.創建一個studet的對象

------聲明

#import <Foundation/Foundation.h>

//我們創建的類必須繼承了NSobject對象

@interface student : NSObject{

int _age;

}

-(void)setAge:(int) newAge;

-(int) age;

@end


#import "student.h"


-----實現方法

@implementation student

-(void)setAge:(int)newAge{

_age =newAge;

}

-(int)age{

return_age;

}

@end

2.創建一個叫小明的學生繼承了student

---聲明

#import <Foundation/Foundation.h>

#import "student.h"

//@class student --------------------這里不能使用@class關鍵字來引用

@interface liming : student

{

NSString *name;

}

//子類特有的方法

-(void)speak;

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

-(NSString *) name;

@end

------實現


#import "liming.h"

@implementation liming

-(void)setName:(NSString *)newName{

name = newName;

}

-(NSString *)name{

returnname;

}

- (NSString *)description

{

return [NSStringstringWithFormat:@"my name is %@", name];

}

-(void)speak{

NSLog(@"hello my age is %i",self.age);

}

@end


-----mian方法


#import <Foundation/Foundation.h>

#import "student.h"

#import "liming.h"

int main(int argc, constchar * argv[])

{

@autoreleasepool {

liming *lim =  [[limingalloc]init];

       lim.age = 23;

       lim.name =@"小明";

//%@是調用OC中的descrition方法,我們在liming類中重寫了description方法

NSLog(@"%@",lim);


   }


//創建子類使用父類進行接受

student *ss = [[limingalloc]init];

ss.age=22;

//        //使用父類進行接收對象依然是可以進行調用子類中的方法,但是Xcode會報警告,Student中沒有這個方法。

 [ss speak];

return0;

}


OC中繼承:

1.在OC中繼承是單繼承的。liming類繼承了student類,就不能繼承其他類。
2.在OC中使用的繼承的時候我們不能使用關鍵字@class來進行包含繼承的類,只能使用@Import來包含我們的繼承類,因為我們的如果要繼承一個類要知道該類中有什么的方法,因此我們不能使用@class來進行包含我們的類。
3.在OC中創建一個子類可以使用父類來進行接收,但是在調用子類的方法的時候,系統是可以進行調用,但是Xcode會報警告但是程序可以運行,不建議使用父類來接受子類。至于為什么可以執行成功可以通過繼承的機制來解答。

4.在繼承的機制中,對于方法的調用是從子類開始找方法,如果找到方法就會執行子類中的方法,如果沒有找到就會到父類中進行查找。再調用父類中的方法。在繼承的關系中變量的使用,是從父類開始找。



@class關鍵會在另外個博文說明。


向AI問一下細節
推薦閱讀:
  1. Object-C關聯
  2. js中的繼承

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖边县| 泸州市| 双柏县| 广丰县| 浦县| 南康市| 修武县| 长沙市| 晴隆县| 广丰县| 黄龙县| 株洲县| 霍城县| 万年县| 小金县| 佳木斯市| 嵩明县| 乌拉特后旗| 织金县| 巴林左旗| 和政县| 宜丰县| 稻城县| 汉中市| 高台县| 旬邑县| 阿尔山市| 沂源县| 崇义县| 镇赉县| 连州市| 重庆市| 龙口市| 大洼县| 广河县| 电白县| 六安市| 隆尧县| 麦盖提县| 资源县| 盘锦市|