本帖最后由 执着的土豆 于 2014-4-29 22:35 编辑
先上代码,再抛问题,希望高手给予解答。
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- @property int age; //年龄
- @property NSString* name; //姓名
- @end
复制代码 2.定义一个book类,并且组合Person类
1> 一本书
* 书名:《葵花宝典》 * 出版社:绝情谷出版社 * 作者:东方不败、120岁 想初始化时修改默认参数为上述内容,book类的声明与实现如下: - /*---------------------book类的声明--------------*/
- #import <Foundation/Foundation.h>
- #import "Person.h"
- @interface Book : NSObject
- @property NSString* bookName;
- @property NSString* pub;
- @property Person* auther; //book组合Person类
- @end
复制代码- /*---------------------book类的实现--------------*/
- #import "Book.h"
- @implementation Book
- -(id)init
- {
- if(self=[super init])
- {
- _bookName=@"《葵花宝典》";
- _pub=@"\t绝情谷出版社";
- //能不能在这里初始化修改默认的作者的姓名和年龄
- }
- return self;
- }
- @end
复制代码主函数中调用如下: 现在是这么写的,想在主函数中省去给作者和年龄赋值,直接调用过来输出,求教各位有没有办法,如果有,请科普一下,如果没有,能不能告诉一下,为什么不可以。 - //现在是这么写的,想在主函数中省去给作者和年龄赋值,直接调用过来输出,求教各位有没有办法,如果有,请科普一下,如果没有,能不能告诉一下,为什么不可以。
- Person *auth=[Person new];
- auth.name=@"东方不败";
- auth.age=120;
- book.auther=auth;
- NSLog(@"这本书是%@,出版自%@,作者是%@,作者今年%d岁了",book.bookName,book.pub,book.auther.name,book.auther.age);
复制代码
|