iOS 繼承&類方法
閒言少敘,直接上程式碼:
#import <Foundation/Foundation.h>
@interface Circle : NSObject
@property (nonatomic,assign) float diameter;
-(instancetype) initWithDiameter:(float)d;
@end
#import "Circle.h"
@implementation Circle
-(instancetype) init {
return [self initWithDiameter:3];
}
-(instancetype) initWithDiameter:(float)d {
self = [super init];
if (self) {
self.diameter = d;
}
return self;
}
@end
#import "Circle.h"
@interface ColoredCircle : Circle
@property (nonatomic,retain) NSString* color;
-(instancetype) initWithDiameter:(float)d andColor:(NSString*)c;
+(ColoredCircle*) star;
@end
#import "ColoredCircle.h"
@implementation ColoredCircle
-(instancetype) init {
return [self initWithDiameter:6 andColor:@"blue"]; // default diameter is 6, default color is "blue"
}
-(instancetype) initWithDiameter:(float)d andColor:(NSString *)c {
self = [super initWithDiameter:d];
if (self) {
self.color = c;
}
return self;
}
+(ColoredCircle*) star {
ColoredCircle *s = [[ColoredCircle alloc] initWithDiameter:1.0 andColor:@"white"];
return s;
}
@end
相關文章
- 類的繼承_子類繼承父類繼承
- JS原型繼承和類式繼承JS原型繼承
- 類的繼承繼承
- javascript類繼承JavaScript繼承
- c# abstract抽象類及抽象方法_繼承C#抽象繼承
- TypeScript 介面繼承類TypeScript繼承
- 原型繼承:子類原型繼承
- C++ | 類繼承C++繼承
- Java:類與繼承Java繼承
- iOS分類(category)、類擴充套件(extension)、繼承的區別iOSGo套件繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- 繼承 基類與派生類繼承
- 子類繼承父類的建構函式(方法)嗎?繼承函式
- Python類的繼承Python繼承
- 繼承+多型+抽象類繼承多型抽象
- 類的繼承圖解繼承圖解
- Java的類與繼承Java繼承
- Swift—類的繼承-備Swift繼承
- 類的繼承和派生繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- es5繼承和es6類和繼承繼承
- 征服 JavaScript 面試:類繼承和原型繼承的區別JavaScript面試繼承原型
- JAVA物件導向高階:繼承:許可權修飾符(繼承注意事項) 單繼承 Object類 方法重寫Java物件繼承Object
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 從本質認識JavaScript的原型繼承和類繼承JavaScript原型繼承
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- 物件、原型鏈、類、繼承【上】物件原型繼承
- Java之繼承和抽象類Java繼承抽象
- ES6 - 類與繼承繼承
- TypeScript(5)類、繼承、多型TypeScript繼承多型
- JavaScript基礎: 類與繼承JavaScript繼承
- [C++]繼承和派生類C++繼承
- Qt類繼承關係圖QT繼承
- 模板類的繼承問題繼承
- C#中類的繼承C#繼承
- JAVA介面繼承、抽象類等Java繼承抽象
- 繼承 重寫和抽象類繼承抽象
- JavaSE-繼承(包含Object類)Java繼承Object