/*
*1.设计2个类,类之间的关系自拟(比如继承、组合)
1> 车
(1)属性
* 轮子数
* 速度
(2)方法
* 属性相应的set和get方法
2> 客车
(1)属性
* 轮子数
* 速度
* 座位数
(2)方法
* 属性相应的set和get方法
*/
#import <Foundation/Foundation.h>
@interface Car : NSObject
{
int _wheels;//轮子数
double _speed;//速度
}
//成员变量的set与get方法
- (void)setWheels:(int)NewWheels;
- (int)wheels;
- (void)setSpeed:(double)NewSpeed;
- (double)speed;
@end
@implementation Car
- (void)setWheels:(int)NewWheels
{
_wheels = NewWheels;
}
- (int)wheels
{
return _wheels;
}
- (void)setSpeed:(double)NewSpeed
{
_speed = NewSpeed;
}
- (double)speed
{
return _speed;
}
@end
@interface Bus : Car
{
int _seatNum;//座位数
}
//相应的set、get方法
- (void)setSeatNum:(int)NewSeatNum;
- (int)seatNum;
@end
@implementation Bus
- (void)setSeatNum:(int)NewSeatNum
{
_seatNum = NewSeatNum;
}
- (int)seatNum
{
return _seatNum;
}
@end
int main()
{
Car * c = [Car new];
[c setWheels:4];
[c setSpeed:80.3];
NSLog(@"车子的轮子书市%d,车的速度是%f",[c wheels],[c speed]);
Bus *b = [Bus new];
[b setWheels:8];
[b setSpeed:120.7];
[b setSeatNum:20];
NSLog(@"车子的轮子书市%d,车的速度是%f,车子的座位数为%d",[b wheels],[b speed],[b seatNum]);
Car *cc = [Bus new]; //此处牵扯到多态的问题 cc本质是一个bus类的对象 但是编译器却认为是 car类型所以会有警告
[cc setWheels:12];
[cc setSpeed:170.7];
[cc setSeatNum:60];
NSLog(@"车子的轮子书市%d,车的速度是%f,车子的座位数为%d",[cc wheels],[cc speed],[cc seatNum]);
}
IOS学习---课后习题1
最新推荐文章于 2014-10-28 07:55:15 发布