oc16--set,get

//
//  Kline.h
//  day13

#import <Foundation/Foundation.h>
@interface Kline : NSObject
{
    int _max;
    int _min;
    int _average;
}
- (void)setMax:(int)max;
- (void)setMin:(int)min;
- (void)setAverage:(int)average;

- (int)min;
- (int)max;
- (int)average;
@end
//
//  Kline.m
//  day13

#import "Kline.h"

@implementation Kline

- (void)setMax:(int)max
{
    _max = max;//    self.max = 10;
    // 每次重新设置最大值, 那么就重新计算平均值
    _average = (_min + _max) / 2;
}

- (void)setMin:(int)min
{
    // setter方法还有一个好处: 监听属性的变化
    _min = min;
    // 每次重新设置最小值, 那么就重新计算平均值
    _average = (_min + _max) / 2;
}

- (void)setAverage:(int)average
{
    _average = average;
}

- (int)min
{
    return _min;
}

- (int)max
{
    return _max;
}

- (int)average
{
//    NSLog(@"重新计算平均值");
    //这个地方有性能问题,由于最大值和最小值可能没有发生变化,既然最大值和最小值没有发生变化,那么平均值就不需要重新计算
    //只有最大值和最小值发生变化才需要重新计算
//    return (_max + _min) / 2;
    return _average;
}
@end
//
//  main.m
//  getter-setter方法练习

#import <Foundation/Foundation.h>
#import "Kline.h"
int main(int argc, const char * argv[]) {
    Kline *line = [Kline new];
    [line setMax:200];
    [line setMin:100];
    //[kp setAverage:(int)];

    NSLog(@"min = %i, max = %i, average = %i", [line min], [line max], [line average]);

    [line average];
    [line average];
    [line average];
    [line average];
    return 0;
}
时间: 2024-11-16 20:13:45

oc16--set,get的相关文章

颜色常识

#import "ViewController.h" #import "UIColor+Hex.h" #define XMGColor(r,g,b) [UIColor colorWithRed:(r) / 256.0 green:(g) / 256.0 blue:(b) / 256.0 alpha:1] @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *labelVi

JS组合按键事件监听插件

[1].[代码] [JavaScript]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 7