OC对象中拥有对象
来源:互联网 发布:linux文件管理web 编辑:程序博客网 时间:2024/05/17 06:10
/*
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;
- (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对象中拥有对象
- OC中对象
- JAVA中Object对象拥有的方法
- oc中对象归档概念
- OC中对象的初始化
- oc中类和对象
- oc中对象数组排序
- OC-对象
- 用js获取当前页面中拥有焦点的对象
- Oracle 中如何删除一个用户拥有的所有对象
- 在SQL SERVER 2005/2008中拥有一个对象
- OC中对象的常用方法
- 【黑马程序员】-oc中对象的封装
- OC中关于对象的内存1
- OC中对象的动态编译机制
- OC中面向对象编程的基础知识
- oc中创建类和对象
- 关于OC中对象的地址
- 64位win7下安装numpy,scipy,matplotlib
- 纯净版Ubuntu系统安装web服务器需要安装的库
- Fiddler实现App前后端隔离开发
- 1091. Acute Stroke (30)
- Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- OC对象中拥有对象
- TESIS VEHDYN33
- gdb多进程多线程调试
- OC结构体(NSRange/CGPoint/CGSize/CGRect)
- Android Http请求方法汇总
- Java的package和import
- HDU 1548 (第一次的BFS)
- C++开源库,欢迎补充
- OC字符串(NSString)