/*
*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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.