/*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@
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{
_name = name;
_age = age;
}
@
end@
interface Book : NSObject
{
NSString *_name;
NSString *_publisher;
Person *_author;
}
-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setPublisher:(NSString *)publisher;
-(NSString *)publisher;
-(void)setAuthor:(Person *)author;
-(Person *)author;
@
end@
implementation Book
-(void)setName:(NSString *)name{
_name = name;
}
-(NSString *)name{
return _name;
}
-(void)setPublisher:(NSString *)publisher{
_publisher = publisher;
}
-(NSString *)publisher{
return _publisher;
}
-(void)setAuthor:(Person *)author{
_author = author;
}
-(Person *)author{
return _author;
}
@
end@
interface Student : Person
{
int _sn;
Book *_book;
}
-(void)setSN:(int)sn;
-(int)sn;
-(void)setBook:(Book *)book;
-(Book *)book;
-(void)study;
@
end@
implementation Student
-(void)setSN:(int)sn{
_sn = sn;
}
-(int)sn{
return _sn;
}
-(void)setBook:(Book *)book{
_book = book;
}
-(Book *)book{
return _book;
}
-(void)study{
NSLog(@"现在学习的书是%@",[_book name]);
}
@
endint main(){
Person *p = [Person new];
[p setName:@"张三" andAge:20];
Book *b = [Book new];
[b setName:@"《空间》"];
[b setPublisher:@"广西师范大学出版社"];
Student *s = [Student new];
[s setSN:123456];
[s setName:@"李二"];
[s study];
NSLog(@"姓名是:%@,年龄是:%d,书名:%@,%@,%d,%@",[p name],[p age],[b name],[b publisher],[s sn],[s name]);
return 0;
}
---------------------------------------------
我想打印出这本书的作者是谁。
还有给我讲一下组合的概念,网上 GOO 了一圈,也还是没理解
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/229381
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.