多态amp;nbsp;OC——第十天
封裝:隱藏內(nèi)部實(shí)現(xiàn),穩(wěn)定外部接口.
? ? ? ? ? ?封裝就是定義類 定義屬性 定義方法屬性:封裝了setter get方法? Person.h @property(nonatomic,retain)NSString?*name,*sex;
類封裝了實(shí)例變量和方法
#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、繼承:子類可以直接復(fù)用父類中的成員.子類繼承父類所有方法的聲明和實(shí)現(xiàn) 非私有的實(shí)例變量以及協(xié)議 繼承是要在.h中聲明一下 繼承具有單根性和傳遞性 ?繼承就是代碼優(yōu)化公共部分交給父類 #import?"Person.h" @interface?Worker :?Person @end
#import?"Person.h" @interface?King :?Person @end
3、多態(tài):不同對象對同一消息的不同響應(yīng).子類可以重寫父類的方法
多態(tài)就是允許方法重名 參數(shù)或返回值可以是父類型傳入或返回
#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歡迎學(xué)習(xí)本文檔,未經(jīng)博主允許,不得私自轉(zhuǎn)載!
總結(jié)
以上是生活随笔為你收集整理的多态amp;nbsp;OC——第十天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web APi之认证(Authentic
- 下一篇: ViewPager+Fragment基本