日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

多态amp;nbsp;OC——第十天

發布時間:2025/4/16 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多态amp;nbsp;OC——第十天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、多態? 父類指針指向子類對象 ? ? ?沒有繼承就沒有多態 ? ? ?聯系前面知識才能清楚什么是多態,所以放到最后面總結小知識點,有前面的知識會對多態更好的了解,會覺得簡單很多,但是看此篇博文需要有前面的基礎,下面帶大家看下:

封裝:隱藏內部實現,穩定外部接口.

? ? ? ? ? ?封裝就是定義類 定義屬性 定義方法
屬性:封裝了setter get方法? Person.h @property(nonatomic,retain)NSString?*name,*sex;

類封裝了實例變量和方法

#import?

@interface?Person :?NSObject

{

????NSString?*_name;

????NSString?*_sex;

????int?_age;


} ——————————————————————————————————————————————

@property(nonatomic,retain)NSString?*name,*sex;

@property(nonatomic,assign)int?age;

- (id)initWithName:(NSString?*)name sex:(NSString?*)sex age:(int)age;

-(Person?*)work;

@end
============================================== Person.m

#import?"Person.h"

@implementation?Person

@synthesize?name =?_name,sex =?_sex,age =?_age;

- (id)initWithName:(NSString?*)name sex:(NSString?*)sex age:(int)age

{

????self?= [super?init];

????if?(self) {

????????self.name?= name;

????????self.sex?= sex;

????????self.age?= age;

????}

????return self;

}

- (Person?*)work

{

????NSLog(@"%@正在工作",self.name);

????return?0;

}

@end
2、繼承:子類可以直接復用父類中的成員.子類繼承父類所有方法的聲明和實現 非私有的實例變量以及協議 繼承是要在.h中聲明一下 繼承具有單根性和傳遞性 ?繼承就是代碼優化公共部分交給父類 #import?"Person.h" @interface?Worker :?Person @end
#import?"Person.h" @interface?King :?Person @end

3、多態:不同對象對同一消息的不同響應.子類可以重寫父類的方法

多態就是允許方法重名 參數或返回值可以是父類型傳入或返回

#import?"AppDelegate.h"

#import?"Worker.h"

#import?"Actor.h"

#import?"King.h"

Worker?*worker = [[Worker?alloc]?init];

????worker.name?=?@"工人";

????[worker?work];//worker 可以換為父類型Person

????King?*king = [[King?alloc]init];

????king.name?=?@"國王";

????[king?work];//king可以換為父類型Person
歡迎學習本文檔,未經博主允許,不得私自轉載!

總結

以上是生活随笔為你收集整理的多态amp;nbsp;OC——第十天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。