IOS學習---課後習題1

/*
 *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]);


}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章