1. 程式人生 > >黑馬程式設計師--IOS入學學習--7-面向物件的三大特性

黑馬程式設計師--IOS入學學習--7-面向物件的三大特性

/*
 設計一個成績類
 *C語言成績(可讀可寫)
 *OC成績(可讀可寫)
 *總分(只讀)
 *平均分(只讀)
 */
#import <Foundation/Foundation.h>

@interface Score : NSObject
{
    int _scoreOfC;//C語言成績
    int _scoreOfOc;//OC成績
    int _totalScore;//總分
    double _aveScore;//平均分
}

//set、get方法
- (void) setScoreOfC: (int) scoreOfC;
- (void) setScoreOfOc: (int) scoreOfOc;
//get方法不以get開頭
- (int) scoreOfC;
- (int) scoreOfOc;
- (int) totalScore;
- (double) aveScore;

@end

@implementation Score

- (void) setScoreOfC: (int) scoreOfC
{
    _scoreOfC = scoreOfC;
}

- (void) setScoreOfOc: (int) scoreOfOc
{
    _scoreOfOc = scoreOfOc;
}

- (int) scoreOfC
{
    return _scoreOfC;
}

- (int) scoreOfOc
{
    return _scoreOfOc;
}

- (int) totalScore
{
    return _scoreOfC + _scoreOfOc;
}

- (double) aveScore
{
    return (_scoreOfC + _scoreOfOc)/2;
}

@end

int main()
{
    Score *s = [Score new];
    [s setScoreOfC:90];
    [s setScoreOfOc:100];
    NSLog(@"總分是%d", [s totalScore]);
    NSLog(@"平均是%.2f", [s aveScore]);
    return 0;
}

4、類方法(通過類名來呼叫的方法,例如:new方法),類方法是相對於物件方法來說的,在物件方法中,方法的宣告和實現是通過“-”減號來開頭的,而類方法的宣告和實現是通過“+”來開頭,類方法主要適用於類中不需要使用成員變數的方法,由於類方法不需要建立物件來呼叫方法,所以能夠提高程式效率。