oc-复合的使用
来源:互联网 发布:js中a标签的href路径 编辑:程序博客网 时间:2024/05/01 22:16
Engine.h
#import <Foundation/Foundation.h>@interface Engine : NSObject@end
Engine.m
#import "Engine.h"@implementation Engine//重写description方法,这里只是重写description的属性的访问器,并不是重写description这个类方法-(NSString *)description{ return @"我是一个引擎,我在努力工作!";}@end
Tire.h
#import <Foundation/Foundation.h>@interface Tire : NSObject@end
Tire.m
#import "Tire.h"@implementation Tire-(NSString *)Tire{ return @"我是一个轮胎,我诚恳的托起了整个车身";}@end
Car.h
#import <Foundation/Foundation.h>#import "Engine.h"#import "Tire.h";@interface Car : NSObject{ @public Engine *_engine; //引擎 Tire *_tire[4]; //四个轮胎(指针数组,数组中的每一个元素存储的都是一个地址,都指向Tire,即每个元素都是Tire的一个实例对象) }-(void)run;-(void)setEngine:(Engine *)engine;-(Engine *)engeine;-(void)setTire:(Tire *)tire atIndex:(int)index;//轮胎带索引的setter方法-(Tire *)tireAtIndex:(int)index;@en
Car.m
#import "Car.h"@implementation Car-(void)run{ NSLog(@"%@",_engine); for (int i = 0; i<4; i++) { //NSLog(@"%@",_tire[i]); //没有调用校验 NSLog(@"%@",[self tireAtIndex:i]);//调用校验 }}-(void)setEngine:(Engine *)engine{ _engine = engine;}-(Engine *)engeine{ return _engine;}-(void)setTire:(Tire *)tire atIndex:(int)index{ if (index<0 || index >3) { NSLog(@"设置轮胎不正确"); } else { _tire[index] = tire; }}-(Tire *)tireAtIndex:(int)index{ if (index < 0 || index > 3) { NSLog(@"获取轮胎位置不正确"); return nil; } else { return _tire[index]; }}@end
mian.m
#import <Foundation/Foundation.h>#import "Engine.h"#import "Tire.h"#import "Car.h"int main(int argc, const char * argv[]) { @autoreleasepool { /* 复合 在oc中,就是一个类的成员变量是由其他的一些类组成,即一个类包含了好几个其他类 */ Engine *engine = [Engine new]; Car *car = [Car new]; [car setEngine:engine]; for (int i = 0; i<4; i++) { Tire *tire = [Tire new]; [car setTire:tire atIndex:i]; } [car run]; /* 继承是在对象之间建立'is-a'关系,但是不是任何情况下都适合使用的 复合,则是在对象之间建立了一个'has a'(有一个)的关系。如果能'X 有一个 Y',即可以使用复合 复合使用在将一些个体组合起来形成一个新的整体的情况下。 */ } return 0;}
1 0
- oc-复合的使用
- OC-类的复合
- OC—类的复合
- OC 复合
- 深入理解OC的继承与复合
- OC中的复合
- oC语言 复合
- iOS-OC复合语句
- 小小君的OC--类之间的复合调用
- 组件(Widget)的复合使用
- jpa复合主键的使用
- Hibernate复合主键的使用
- OC语言--复合与继承
- OC中继承和复合
- OC基础教程3-继承+复合
- OC学习 第四章 复合
- OC中的继承与复合
- 《OC基础教程》读书笔记4-复合
- Android中通过typeface设置字体
- keil中code和const的区别
- 开源中最好的Web开发的资源
- 基于SOAP的Web服务AJAX客户端
- Promise编程模式中链式调用时传值的一个小坑
- oc-复合的使用
- 在session过期后如何跳转到登录页面
- splay 模板
- 支付参考文档
- 跨域WebService请求 ——Nginx+SOAP服务+Ajax客户端
- hdu2669 扩展欧几里得
- FZUoj 2020 组合 (组合数学&&Lucas定理)
- CentOS 上php环境搭建
- 蓝桥杯 算法训练 出现次数最多的整数