#import <Foundation/Foundation.h>
@interface Student : NSObject
{
NSString *_name;
NSInteger _age;
}
- (id)init;
- (void)setName:(NSString *)name;
- (void)setAge:(NSInteger)age;
- (void)setName:(NSString *)name andAge:(NSInteger)age;
- (NSString *)name;
- (NSInteger)age;
+ (void)testStudent;
@end
@implementation Student
- (id)init
{
self = [super init];
if(self){
_name = @"小华";
_age = 12;
}
return self;
}
- (void)setName:(NSString *)name
{
_name = name;
}
- (void)setAge:(NSInteger)age
{
_age = age;
}
- (void)setName:(NSString *)name andAge:(NSInteger)age
{
_name = name;
_age = age;
}
- (NSString *)name
{
return _name;
}
- (NSInteger)age
{
return _age;
}
+ (void)testStudent
{
Student *stu = [[Student alloc] init];
[stu setName:@"Jack" andAge:25];
NSLog(@"name = %@, age = %li",[stu name],[stu age]);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Student *stu = [[Student alloc] init];
NSLog(@"name = %@, age = %li",[stu name],[stu age]);
[stu setName:@"小明" andAge:20];
NSLog(@"name = %@, age = %li",[stu name],[stu age]);
[Student testStudent];
}
return 0;
}
注意
self
是指针- 在对象方法中,
self
表示调用者 - 在类方法中,
self
表示当前类本身