您好,登錄后才能下訂單哦!
#import <Foundation/Foundation.h> //---------.h @interface Student : NSObject { //沒有寫paublic都默認為protected (受保護都) NSString *_studentName; //實例變量 NSString *_studentSex; NSString *_studentHobby; NSUInteger _studentAge; NSInteger _studentNumber; } - (void)study; - (void)setName:(NSString *)name; // seter方法 - (void)setSex:(NSString *)sex; - (void)setAge:(NSInteger)age; - (void)setHobby:(NSString *)hobby; - (void)setNumber:(NSUInteger)num; - (NSString *)name; //geter方法,,印著get在OC中還有別的方法,這里不寫 - (NSString *)sex; - (NSInteger)age; - (NSString *)hobby; - (NSInteger)num; //-----------多參數方法------------// - (void)setName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age hobby:(NSString *)hobby num:(NSInteger)num ; //=-------------自定義初始化方法---------------// - (id)init; - (id)initWithName:(NSString *)name sex:(NSString *)sex; @end #import "Student.h" //----------------------.m @implementation Student - (void)study { NSLog(@"他的名字是:%@,他的性別是:%@,他今年:%ld歲,他的愛好:%@,他的學號是:%ld", _studentName, _studentSex, _studentAge, _studentHobby, _studentNumber); } - (void)setName:(NSString *)name //給實例賦值 { _studentName = name; } - (void)setSex:(NSString *)sex { _studentSex = sex; } - (void)setAge:(NSInteger)age { _studentAge = age; } - (void)setHobby:(NSString *)hobby { _studentHobby = hobby; } - (void)setNumber:(NSUInteger)num { _studentNumber = num; } - (NSString *)name { return _studentName; // 返回實例, } - (NSString *)sex { return _studentSex; } - (NSInteger)age { return _studentAge; } - (NSString *)hobby { return _studentHobby; } - (NSInteger)num { return _studentNumber; } //多參數實例賦值 - (void)setName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age hobby:(NSString *)hobby num:(NSInteger)num { _studentName = name; _studentSex = sex; _studentAge = age; _studentHobby = hobby; _studentNumber = num; } //自定義方法賦值 - (id)init { _studentSex = @"女"; return self; } - (id)initWithName:(NSString *)name sex:(NSString *)sex { _studentName = name; _studentSex = sex; return self; } @end #import <Foundation/Foundation.h> //---------main函數 #import "Student.h" #import "AudiCar.h" int main(int argc, const char * argv[]) { @autoreleasepool { Student *p = [[Student alloc] init]; [p setName:@"泥煤"]; //對實例進行逐一賦值 [p setSex:@"不男不女"]; [p setAge:112]; [p setHobby:@"女生"]; [p setNumber:201438]; //打印名字 NSString *name = [p name]; //有返回值,必須有接收器 NSLog(@"直接調用 :%@", name); NSLog(@"%@", p); [p study]; } return 0; } 結果: 2014-08-16 20:49:29.035 LessonClass2[4384:303] 直接調用 :泥煤 2014-08-16 20:49:29.038 LessonClass2[4384:303] <Student: 0x100201630> 2014-08-16 20:49:29.038 LessonClass2[4384:303] 他的名字是:泥煤,他的性別是:不男不女,他今年:112歲,他的愛好:女生,他的學號是:201438 Program ended with exit code: 0
實例變量的可見度---能不能在外界訪問。。
@protected (受保護的,默認的)---實例變量只能在該類和其子類內操作
@public --------實例變量可以在類的外部和內部操作
@private----------實例對象只能在該類內訪問
為什么不能使用@public
使用@public關鍵字,暴露類類內部的細節。
不符合面向對象語言的三大特性之一--封裝
#import
導入頭文件,即:導入文件中的內容到當前類
#import “ ”導入自定義類,#import < >導入類庫中的頭文件
功能類似C語言中的#include,但是可以避免頭文件被重復導入
容易出現循環導入問題
@class
告訴編譯器@class后的字符串作為類名使用,并未導入類的接口內容
有效避免嵌套循環導入 記得咋.m文件中導入#import "類名";
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。