您的位置:首页 > 其它

OC对象中拥有对象

2015-08-19 00:46 127 查看
/*

 3.设计3个类,类之间的关系自拟(比如继承、组合)

 1> 人

 (1)属性

 * 姓名

 * 年龄

 

 (2)方法

 * 属性相应的set和get方法

 * 设计一个对象方法同时设置姓名和年龄

 

 2> 书

 (1)属性

 * 书名

 * 出版社名称

 * 作者(包含姓名和年龄)

 

 (2)方法

 * 属性相应的set和get方法

 

 3> 学生

 * 姓名

 * 年龄

 * 学号

 * 书(随身带着一本书)

 

 2> 方法

 * 属性相应的set和get方法

 * 设计一个对象方法-study:输出书名

 */

#import <Foundation/Foundation.h>

@interface People : NSObject

{

    NSString *_name;    // 姓名

    int _age;   // 年龄

}

// name的set和get方法

- (void)setName:(NSString *)name;

11619

- (NSString *)name;

// age的set和get方法

- (void)setAge:(int)age;

- (int)age;

@end

@implementation People

// name的set和get方法

- (void)setName:(NSString *)name

{

    _name = name;

}

- (NSString *)name

{

    return _name;

}

// age的set和get方法

- (void)setAge:(int)age

{

    _age = age;

}

- (int)age

{

    return _age;

}

@end

//Book类

@interface Book : NSObject

{

    NSString *_bookOfname;   // 书名

    NSString *_pressOfname; // 出版社名称

    People *_auther;    // 作者(包含姓名和年龄)

}

// 书名的set和get方法

- (void)setBookOfname:(NSString *)bookOfname;

- (NSString *)bookOfname;

// 出版社名称的set和get方法

- (void)setPressOfname:(NSString *)pressOfname;

- (NSString *)pressOfname;

// 作者(姓名和年龄)的set和get方法

- (void)setAuther:(People *)auther;

- (People *)auther;

@end

@implementation Book

// 书名的set和get方法

- (void)setBookOfname:(NSString *)bookOfname

{

    _bookOfname = bookOfname;

}

- (NSString *)bookOfname

{

    return _bookOfname;

}

// 出版社名称的set和get方法

- (void)setPressOfname:(NSString *)pressOfname

{

    _pressOfname = pressOfname;

}

- (NSString *)pressOfname

{

    return _pressOfname;

}

// 作者(姓名和年龄)的set和get方法

- (void)setAuther:(People *)auther

{

    _auther = auther;

}

- (People *)auther

{

    return _auther;

}

@end

// Student类

@interface Student : People

{

    int _no;    // 学生学号

    Book *_book; // 学生拥有的书

}

// 学号的setter和getter

- (void)setNo:(int)no;

- (int)no;

//拥有书的setter和getter

- (void)setBook:(Book *)boot;

- (Book *)book;

- (void)study;

@end

@implementation Student

// 学号的setter和getter

- (void)setNo:(int)no

{

    _no = no;

}

- (int)no

{

    return _no;

}

//拥有书的setter和getter

- (void)setBook:(Book *)book

{

    _book = book;

}

- (Book *)book

{

    return _book;

}

- (void)study

{

    NSLog(@"现在学生的书是:%@",
[_book bookOfname]);

}

@end

int main()

{

    People *p1 = [People new];

    [p1 setName:@"jack"];

    [p1 setAge:20];

    

    Book *p2 = [Book new];

    [p2 setBookOfname:@"三国演义"];

    [p2 setPressOfname:@"新华社"];

    

    Student *p3 = [Student new];

    [p3 setNo:201];

    

    [p3 setBook:p2];

    

    [p3 study];

    

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  对象 OC