//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服务端语言