/*/*
3.设计3个类,类之间的关系自拟(比如继承、组合)
1> 人
(1)属性
* 姓名
* 年龄
(2)方法
* 属性相应的set和get方法
* 设计一个对象方法同时设置姓名和年龄
2> 书
(1)属性
* 书名
* 出版社名称
* 作者(包含姓名和年龄)
(2)方法
* 属性相应的set和get方法
3> 学生
* 姓名
* 年龄
* 学号
* 书(随身带着一本书)
2> 方法
* 属性相应的set和get方法
* 设计一个对象方法-study:输出书名
// 书 拥有一个 作者 --> 组合
// 学生 是一个 人 --> 继承
// 学生 拥有一本 书 --> 组合
*/
#import <Foundation/Foundation.h>
/****************人************************/
@interface Person : NSObject
{
NSString *_name;
int _age;
}
- (void)setName:(NSString *)name;
- (NSString *)name;
- (void)setAge:(int)age;
- (int)age;
- (void)setName:(NSString *)name andAge:(int)age;
@end
/*****************书**********************/
@interface Book : NSObject
{
NSString *_sname;//书名
NSString *_publishing;//出版社
Person *_person;//作者姓名与年龄
}
- (void)setSname:(NSString *)sname;
- (NSString *)sname;
- (void)setPublishing:(NSString *)publishing;
- (NSString *)publishing;
//- (void)setAuthor:(NSString *)author;
//- (NSString *)author;
@end
//书的实现
@implementation Book
- (void)setSname:(NSString *)sname
{
_sname = sname;
}
- (NSString *)sname
{
return _sname;
}
- (void)setPublishing:(NSString *)publishing
{
_publishing = publishing;
}
- (NSString *)publishing
{
return _publishing;
}
@end
/*****************学生**********************/
@interface Student : Person
{
int _no;
Book *_shu;
}
- (void)setNo:(int)no;
- (int)no;
- (void)study;
@end
int main()
{
Person *p = [Person new];
[p setName:@"woaixiangxiang"];
[p setAge:22];
[p setName:@"woaixiangxiang" andAge:22];
//书的名字方法
[Book setSname:"asdasd"];
[Book setPublishing:@"asdasd"];
//输出学生拥有的书的名字
return 0;
}
//人的实现
@implementation Person
- (void)setName:(NSString *)name
{
_name = name;
}
- (NSString *)name
{
return _name;
}
- (void)setAge:(int)age
{
_age =age;
}
- (int)age
{
return _age;
}
- (void)setName:(NSString *)name andAge:(int)age
{
[self setName:name];
[self setAge:age];
}
@end
//学生的实现
@implementation Student
- (void)setNo:(int)no
{
_no = no;
}
- (int)no
{
return _no;
}
- (void)study
{
NSLog(@"%@",[_shu sname]);
}
@end
|
|