zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    vue scrollTop的使用方法
    常见简体繁体转换
    远程桌面发生身份验证错误,要求的函数不受支持
    发布版找不到字体,控制台会报错问题处理
    sql进阶-自增字段的数据修改
    sql序列(6)游标
    sql序列(1)新建文件夹、建库
    sql进阶-触发器的实现
    sql进阶-@@rowcount详解
    单条数据横向滚动
  • 原文地址:https://www.cnblogs.com/yaowen/p/7412437.html
Copyright © 2011-2022 走看看