.h文件
//声明类名,继承的父类,相关属性(实例,)方法声明
#import
//类名 Student
//继承的父类名 NSObject
@interface Student : NSObject// :冒号是切割
//{
// //相关属性(实例变量)
// @public
// NSString *_name;//姓名
// int _age;//年龄
// NSString *_address;//地址
// NSString *_hobby;//爱好
//}
//属性设置器,提供相关属性给编译器,由编译器根据属性名称自动生成与之对应的实例变量访问器(setter设置器,getter读取器)和实例变量声明
@property(assign,nonatomic) NSString *name;
//对_name实例变量的访问器
//-(void) setname:(NSString *) newname;
//-(NSString *) name;
@property(assign,nonatomic) int age;
//_age实例变量的访问器
//-(void) setage:(int) newage;
//-(int) age;
@property(assign,nonatomic) NSString *address;
//对_address实例变量的访问器
//-(void) setaddress:(NSString *) newaddress;
//-(NSString *) address;
@property(assign,nonatomic) NSString *hobby;
//_hobby实例变量的访问器
//-(void) sethobby:(NSString *) newhobby;
//-(NSString *) hobby;
//方法的声明
-(void)sayHi;
-(void)eat;
-(void)walk;
@end
.m文件
#import "Student.h"//不能用双角号 双角号是系统的,""是自己定义的
@implementation Student
//属性合成器@synthesize,由编译器自动生成相关属性的方法实现,并且生成相关实例变量,默认实例变量名称对应属性一致,若要自己设置使用语法name=_name
@synthesize name,age,address,hobby;
对—_name的访问器
//-(void) setname:(NSString *)newname{
// _name=newname;
//}
//-(NSString *)name{
// return _name;
//}
对_sge的访问器
//-(void) setage:(int)newage{
// _age=newage;
//}
//-(int)age{
// return _age;
//}
对_address的访问器
//-(void) setaddress:(NSString *)newaddress{
// _address=newaddress;
//}
//-(NSString *)address{
// return _address;
//}
对_hobby的访问器
//-(void)sethobby:(NSString *)newhobby{
// _hobby=newhobby;
//}
//-(NSString *)hobby{
// return _hobby;
//}
//方法的实现
-(void) sayHi{
NSLog(@"我是来自%@%@,今年%d岁,喜欢%@",address,name,age,hobby);
}
-(void) eat{
NSLog(@"%@也得吃饭",name);
}
-(void) walk{}
@end
main函数
#import
#import "Student.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
Student *stu=[[Student alloc]init];//定义对象
stu.name=@"笑笑";//给实例变量赋值
stu.age=20;
stu.address=@"北京石景山";
stu.hobby=@"XXXXXXXX";
NSLog(@"我叫%@今年%d住在%@喜欢%@",stu.name,stu.age,stu.address,stu.hobby);//输出实例变量
}
return 0;
}
//声明类名,继承的父类,相关属性(实例,)方法声明
#import
//类名 Student
//继承的父类名 NSObject
@interface Student : NSObject// :冒号是切割
//{
//
//
//
//
//
//
//}
//属性设置器,提供相关属性给编译器,由编译器根据属性名称自动生成与之对应的实例变量访问器(setter设置器,getter读取器)和实例变量声明
@property(assign,nonatomic) NSString *name;
//对_name实例变量的访问器
//-(void) setname:(NSString *) newname;
//-(NSString *) name;
@property(assign,nonatomic) int age;
//_age实例变量的访问器
//-(void) setage:(int) newage;
//-(int) age;
@property(assign,nonatomic) NSString *address;
//对_address实例变量的访问器
//-(void) setaddress:(NSString *) newaddress;
//-(NSString *) address;
@property(assign,nonatomic) NSString *hobby;
//_hobby实例变量的访问器
//-(void) sethobby:(NSString *) newhobby;
//-(NSString *) hobby;
//方法的声明
-(void)sayHi;
-(void)eat;
-(void)walk;
@end
.m文件
#import "Student.h"//不能用双角号 双角号是系统的,""是自己定义的
@implementation Student
//属性合成器@synthesize,由编译器自动生成相关属性的方法实现,并且生成相关实例变量,默认实例变量名称对应属性一致,若要自己设置使用语法name=_name
@synthesize name,age,address,hobby;
对—_name的访问器
//-(void) setname:(NSString *)newname{
//
//}
//-(NSString *)name{
//
//}
对_sge的访问器
//-(void) setage:(int)newage{
//
//}
//-(int)age{
//
//}
对_address的访问器
//-(void) setaddress:(NSString *)newaddress{
//
//}
//-(NSString *)address{
//
//}
对_hobby的访问器
//-(void)sethobby:(NSString *)newhobby{
//
//}
//-(NSString *)hobby{
//
//}
//方法的实现
-(void) sayHi{
}
-(void) eat{
}
-(void) walk{}
@end
main函数
#import
#import "Student.h"
int main(int argc, const char * argv[])
{
}