Objective-C 类的复合
来源:互联网 发布:常见的数据库管理系统 编辑:程序博客网 时间:2024/05/16 01:43
//// main.m// Study//// Created by DwightDing on 16/3/12.// Copyright © 2016年 DwightDing. All rights reserved.//#import <Foundation/Foundation.h>@interface Tire : NSObject@end//Tire@implementation Tire-(NSString *)description{ return (@"I'm a Tire, I last a while");}//description在Cocoa中定义@end@interface Engine : NSObject@end@implementation Engine-(NSString *)description{ return (@"I am an engine.Vroom");}@end@interface Car : NSObject{ Engine *engine; Tire *tires[4];}-(void)print;@end@implementation Car-(id) init{ if(self = [super init]){ engine = [Engine new]; tires[0] = [Tire new]; tires[1] = [Tire new]; tires[2] = [Tire new]; tires[3] = [Tire new]; } return self;}-(void)print{ NSLog(@"%@",engine); NSLog(@"%@",tires[0]); NSLog(@"%@",tires[1]); NSLog(@"%@",tires[2]); NSLog(@"%@",tires[3]);}@endint main(int argc, const char * argv[]) { Car *car; car = [Car new]; [car print]; return 0;}
对类进行扩展:
//// main.m// Study//// Created by DwightDing on 16/3/12.// Copyright © 2016年 DwightDing. All rights reserved.//#import <Foundation/Foundation.h>@interface Tire : NSObject@end//Tire@implementation Tire-(NSString *)description{ return (@"I'm a Tire, I last a while");}//description在Cocoa中定义@end//Define Engine@interface Engine : NSObject@end//setter getter@implementation Engine-(NSString *)description{ return (@"I am an engine.Vroom");}@end//define Car@interface Car : NSObject{ Engine *engine; Tire *tires[4];}-(void)setTire : (Tire *)tire atIndex : (int) index;-(Tire *)tireAtIndex : (int) index;-(Engine *) engine;-(void) setEngine : (Engine *) newEngine;-(void)print;@end@implementation Car//realize function-(void)setTire : (Tire *)tire atIndex : (int) index{ if (index<0||index>3) { NSLog(@"error"); exit(1); } tires[index]=tire;}-(Tire *)tireAtIndex : (int) index{ if (index<0||index>3) { NSLog(@"error"); exit(1); } return (tires[index]);}-(void) setEngine : (Engine *) newEngine{ engine=newEngine;}-(Engine *) engine{ return (engine);}-(void)print{ NSLog(@"%@",engine); NSLog(@"%@",tires[0]); NSLog(@"%@",tires[1]); NSLog(@"%@",tires[2]); NSLog(@"%@",tires[3]);}@endint main(int argc, const char * argv[]) { Car *car = [Car new]; Engine *engine=[Engine new]; [car setEngine:engine]; for (int i = 0; i < 4; i++) { Tire *tire = [Tire new]; [car setTire:tire atIndex:i]; } [car print]; return 0;}
0 0
- Objective-C 类的复合
- Objective-C,复合类,Composition
- Objective-C的继承与复合
- 【Objective-C编程】浅析Objective-C的继承与复合
- objective-c 复合
- Objective-c语言_复合
- objective-c之复合对象
- IOS开发之路-Objective-C 复合
- Objective-C中的继承与复合技术
- Objective-C学习笔记第五章复合
- 【iOS开发之Objective-C】复合
- 我的iOS开发之Objective-C第4天之属性、复合
- C++--------复合类
- [转载]Objective-C中的继承与复合技术
- Objective-C基础教程2(继承和复合)
- 黑马程序员:Objective-C中的继承与复合
- Objective-C基础教程2(继承和复合)
- 《Objective-C基础教程》第5章 复合
- nginx安装与部署
- NanoPC-T2 以太网分析(1)
- jsp之不同namespace 找不到action
- 一、MyBatis框架的配置与基本使用
- BZOJ 2038 小Z的袜子 莫队算法介绍
- Objective-C 类的复合
- Linux下搭建android环境
- C++第1次实验—复习-函数T 1
- AudioManger和AudioSystem的关系
- 位运算
- CodeForces337D(树形DP)
- package com.skex.ttsdemo
- 希尔排序
- HDU Elevator