一、property屬性
在類中定義成員變數時,使用
1@inte***ce
person: nsobject
6@end
時,需自己定義getter和setter方法,比較麻煩,而使用property時,系統自動定義了getter和setter方法,比較簡便
1#import
2#import
"car.h"3
4@inte***ce
person : nsobject
56 @property (nonatomic, strong) nsstring *name;
7 @property (nonatomic, strong) car *che;
89 - (void
)showcar;
1011
@end
1#import
23 typedef enum
: nsuinteger kcartype;89
@inte***ce
car : nsobject
1011 @property (nonatomic, strong) nsstring *color;
12 @property (nonatomic, strong) nsstring *brand;
13@property (nonatomic, assign) kcartype type;
1415
@end
在主函式中呼叫:
1#import
2#import
"car.h"3
#import
"person.h"4
5int main(int argc, const
char *ar**)
19return0;
20 }
總結以下幾點:
1.set方法:[cc setcolor:@"red"]; 或者cc.color = @"red";
2.get方法:[cc name];或者cc.name;
3.點語法只能用於property屬性的變數
二、構造方法
1.概念:自定義初始化方法 init方法,在建立這個物件的同時 對這個物件進行初始化,initwith開頭,通常有3種返回型別
- (id)
- (car *)
- (instancetype)
2.用法舉例
1#import
23 typedef enum
: nsuinteger kcartype;89
@inte***ce
car : nsobject
1011 @property (nonatomic, strong) nsstring *color;
12 @property (nonatomic, strong) nsstring *brand;
13@property (nonatomic, assign) kcartype type;
1415 - (instancetype)initwithcolor:(nsstring *)acolor
16 andbrand:(nsstring *)abrand
17andtype:(kcartype)atype;
1819
@end
1#import
"car.h"2
3@implementation
car45//
重寫父類的init方法
6 -(instancetype)init
1718
return
self;19}
2021 - (instancetype)initwithcolor:(nsstring *)acolor
22 andbrand:(nsstring *)abrand
23andtype:(kcartype)atype
31return
self;32}
33@end
3.注意:
1⃣️self = [super init];是對物件進行初始化,如果失敗,則返回nil代表沒有記憶體,成功則返回物件,nsstring *str = nil; str沒有記憶體,不存在
2⃣️一般自己重寫構造方法,即用initwith,可隨意改變初始值
3️⃣ 用init時,例項化可以用[[person alloc] init];也可以用[person new]; 用initwith時,只能用[[person alloc] initwith];
posted @
2018-07-26 23:54
健澤 閱讀(
...)
編輯收藏
成員變數和構造方法
直接在類中定義的變數 特點 成員變數有預設值 int 0,double 0,char bollean false,其他型別 null 成員變數在整個類中都有效,一般位於類的頭部 作用 詳細描述物件資訊 package classandvalue public class test 其方法名是類名,且...
變數作用域 構造方法。
構造方法 構造器 是一種特殊的方法,主要用於為成員變數初始化 為成員變數賦初始值 特徵 方法名必須與類名相同,沒有返回值型別。void也是一種返回值型別。語法 修飾符 類名 形參列表 構造方法使用new關鍵字呼叫。如果沒有顯式定義構造方法,虛擬機會自動新增無參構造,但是一旦顯式定義了構造方法,虛擬機...
Java 基礎5(變數 構造方法)
1.0 變數 變數分為primitive主資料型別和物件引用型別。前者包括基本型別的變數如 int float boolean。後者就是引用的變數。在類中定義的變數可以稱為全域性變數,可以被類中的方法所呼叫。在方法中定義的變數只可以在此方法中呼叫,其他方法不能呼叫 但可以定義相同的變數名 靜態變數 ...