#import <Foundation/Foundation.h>
@interface Student :NSObject//类名的首字母大写,以后每个单词的首字母大写
{
//实例变量的定义,命名通常以_开头,第一个单词的首字母小写,以后每个单词的首字母大写
NSString *_name;//字符串类
NSInteger _age;//long
}
//构造方法(初始化方法)
// id 类似于c语言中的 void*
//- 说明该方法是一个对象方法(实例方法)
//返回值是泛型的对象
//方法名:init
- (id) init;
//setter方法:修改实例变量的值的方法,有一个传入参数name,无返回值,方法名是 setName;
-(void) setName:(NSString *)name andAge:(NSInteger)age;(and可省略)//冒号前后不能有空格
//匿名方法去掉andAge
//getter方法:读取实例变量的值
-(NSString *)name;
-(NSInteger)age;
//类方法
@end
//方法的命名:第一个单词的首字母小写,以后每一个单词的首字母大写“驼峰规则”,实例变量相同
@implementation Student
-(id)init//初始化对象的方法,构造方法
{
self = [super init];//self表示调用者,指向调用者的对象指针变量
//super是调用父类方法的关键字
if(self){
_name = @"小华";
_age = 12;
}
return self;
}
//setter方法访问修改实例变量的值
-(void)setName:(NSString *)name
{
_name = name;
}
-(void)setAge:(NSInteger)age
{
_age = age;
}
-(void)setName:(NSString *)name andAge:(NSInteger)age//可省略andage
{
_name = name;
_age = age;
}
//getter方法访问读取实例变量的值
-(NSString *)name
{
return _name;
}
-(NSInteger)age
{
return _age;
}
//+类方法,给类调用的方法,通常用类名调用
//测试当前类是否可用
+(void)testStudent
{
Student *stu = [[Student alloc] init];
[stu setName:@"小飞" andAge:25];
NSlog(@"name = %@ age = %li", [stu name], [stu age]);//NSLog 打印OC中的字符串对象
}
int main(int argc, const *argv[])
{
@autoreleasepool{
Student *stu = [[Student alloc] init];//Student类方法alloc方法创建一个对象
NSLog(@"name = %@, age = %li", [stu name], [stu age]);
/*
name = 小华,age = 12
*/
//[stu setName:@"小明“];
//[stu setAge:20];
[stu setName:@"小明” andAge:20];//@"小明"表示字符串对象
NSLog(@"name = %@, age = %li", [stu name], [stu age]);//%@打印对象的占位符,打印long类型的 占位符
[Student teststudent];
}
}
//简单类的创建 setter