多态amp;nbsp;OC——第十天
封裝:隱藏內部實現,穩定外部接口.
? ? ? ? ? ?封裝就是定義類 定義屬性 定義方法屬性:封裝了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;
}
@end2、繼承:子類可以直接復用父類中的成員.子類繼承父類所有方法的聲明和實現 非私有的實例變量以及協議 繼承是要在.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——第十天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web APi之认证(Authentic
- 下一篇: ViewPager+Fragment基本