//Student類
//@interface 定義一個類的關鍵字
//@end 表示類定義結束
//Student : 類名
//NSObject: 根類(基類)
~~~
@interface Student : NSObject
{
//實例變量的定義,命名通常以_開頭
NSString * _name;
NSInteger _age;
}
//構造方法(初始化方法)
//id 類似于 C語言中的 void *
//- 說明該方法是一個對象方法(實例方法)
//無傳入參數
//返回值是 泛型的對象
//方法名: int
- (id)init;
//setter方法
//有一個傳入參數 name
//無返回值
//方法名是 setName:
-(void) setName:(NSString *)name;
-(void) setAge:(NSInteger)age;
//有兩個傳入參數 name age
//無返回值
//方法名是 setName:andAge:
-(void) setName:(NSString *)name andAge:(NSInteger)age;
//匿名方法
-(void)setName:(NSString *)name :(NSInteger)age;
//gette方法 , 讀取實例變量的值
-(NSString *)name;
-(NSInteger)age;
//類方法
+(void)testStudent;
@end
~~~
~~~
//@implementation 實現類的關鍵字
//@end 類實現結束
@implementation
-(id) init //初始化對象的方法
{
self = [super init]; //self 表示調用者,指向調用的對象指針變量
//super 是調用父類方法的關鍵字
if(self) {
_name = @"小小";
_age = 18;
}
return self;
}
//setter方法訪問修改實例變量的值
-(void)setName:(NSString *)name
{
_name = name;
}
-(void)setAge:(NSInteger)age
{
_age = age;
}
-(void)setName:(NSString *)name andAge:(NSInteger)age
{
_name = name;
_age = age;
}
-(void)setName:(NSString *)name :(NSInteger)age
{
_name = name;
_age = age;
}
//gettr方法訪問讀取實例變量的值
-(NSString *)name
{
return _name;
}
-(NSInteger)age
{
return _age;
}
//+ 開頭的方法為類方法,給類調用的方法,通常用類名調用
+(void)testStudent
{
Student *stu = [[Student alloc] init];
[stu setName:@"啪啪"];
[stu setAge:28];
}
@end
~~~
~~~
int main(int argc,const char * argv[])
{
@autoreleasepool {
Student *stu = [[Student alloc] init]; //Student類通過alloc方法創建一個對象
NSLog(@"stu= %@, age=%li" ,[stu name] ,[stu age]);
NSLog(@"stu= %@, age=%li" ,[[[Student alloc] init] name] ,[[[Student alloc] init] age]); //識別很吃力
[stu setName:@"小馬"];
[stu setAge:17];
[stu setName:@"小馬" setAge:17];
NSLog(@"stu= %@, age=%li" ,[stu name] ,[stu age]); //%@ 打印對象的占位符
[Student testStudent];
}
return 0;
}
~~~
- 各種語言一起擼
- 前言
- 第一章 各種語言類講解對比
- 1.1 基于類的面向對象語言
- 第二章 各種語言面向對象編程
- 2.1 Javascript面向對象編程
- 2.1.1 JS類實現
- 2.1.2 JS類繼承
- 2.2 Object-C面向對象編程
- 2.3 Android面向對象編程
- 2.4 PHP面向對象編程
- 第三章 JS+OC+ADT語言對比
- 3.1 視圖
- 3.1.1 JavaSript創建視圖
- 3.1.2 Object-c創建視圖
- 3.1.2.1 xib視圖視圖創建
- 3.1.3 Andriod創建視圖
- 3.1.3.1 xml視圖創建
- 3.2 事件
- 3.2.1 JavaSript事件綁定
- 3.2.2 Object-c事件代理
- 3.2.2.1 事件代理
- 3.2.3 Andriod事件監聽
- 第四章 PHP服務端語言