黑马程序员技术交流社区
标题:
一个练习,多文件开发,封装,继承,私有方法,重写description方法
[打印本页]
作者:
bdw9005
时间:
2015-9-14 22:10
标题:
一个练习,多文件开发,封装,继承,私有方法,重写description方法
Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
NSString *_name;//成员变量
int _age;
}
//setter方法
-(void)setName:(NSString *)name;
-(void)setAge:(int)age;
//getter方法
-(NSString *)name;
-(int )age;
-(void)run;
-(void)eat:(NSString *)foodName;
@end
复制代码
Person.m
#import "Person.h"
@implementation Person
//setter方法
-(void)setName:(NSString *)name{
_name=name;
}
-(void)setAge:(int)age{
_age=age;
}
//getter方法
-(NSString *)name{
return _name;
}
-(int )age{
return _age;
}
-(void)run{
NSLog(@"Person running....");
}
-(void)eat:(NSString *)foodName{
NSLog(@"Person are eating %@",foodName);
}
-(NSString*)description{//重写description方法
return [NSString stringWithFormat:@"姓名:%@,年龄:%d",_name,_age];
}
@end
复制代码
Student.h
#import "Person.h"
@interface Student : Person
@end
复制代码
Student.m
#import "Student.h"
@implementation Student
-(void)run{
NSLog(@"Student running....");
[self bigBall]; //调用私有方法
}
-(void)eat:(NSString *)foodName{
NSLog(@"Student are eating %@",foodName);
}
-(void)bigBall{ //私有方法
NSLog(@"I have a big ball!!!!!");
}
@end
复制代码
main.m
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p=[Person new];
[p setName:@"人类"];
[p setAge:18];
[p run];
[p eat:@"食物"];
NSLog(@"%@",p);//description类
Student *s=[Student new];
[s setName:@"小红"];
[s setAge:18];
NSLog(@"%@",s);
[s run];
[s eat:@"蛋挞加咖啡"];
}
return 0;
}
复制代码
作者:
张健康ios0826
时间:
2015-9-14 23:13
好厉害的样子
作者:
bdw9005
时间:
2015-9-15 22:03
张健康ios0826 发表于 2015-9-14 23:13
好厉害的样子
哈哈,不多的代码,用到很多的知识
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2