黑马程序员技术交流社区

标题: 封装特性 [打印本页]

作者: hei军    时间: 2015-12-3 00:22
标题: 封装特性

#import <Foundation/Foundation.h>

@interface Expanditure : NSObject{
    double _breakfast;//早餐
    double _lauch;//中餐
    double _dinner;//晚餐
    double _count;//总消费
    double _average;//平均
}

-(void)setBreakfast:(double)breakfast;
-(double)getBreakfast;

-(void)setLauch:(double)lauch;
-(double)getLauch;

-(void)setDinner:(double)dinner;
-(double)getDinner;

-(double)getAverage;

@end

@implementation Expanditure

-(void)setBreakfast:(double)breakfast{
    _breakfast=breakfast;
    _count=0;//这个也必须要有,不然会重复计算
    _count=_breakfast+_lauch+_dinner;

    //如果调用者调用两次会出现重复.不行
   // _count+=_breakfast;

}
-(double)getBreakfast{
    return _breakfast;

}

-(void)setLauch:(double)lauch{
    _lauch=lauch;
    _count=0;
    _count=_breakfast+_lauch+_dinner;


}
-(double)getLauch{
    return _lauch;

}

-(void)setDinner:(double)dinner{
    _dinner=dinner;
    _count=0;
    _count=_breakfast+_lauch+_dinner;


}
-(double)getDinner{
    return _dinner;

}

-(double)getAverage{

    _average=_count/3;
    return _average;

}

@end

int main(){

    Expanditure *ed=[Expanditure new];
    [ed setBreakfast:100.0];
    [ed setLauch:600.0];
    [ed setDinner: 200.0];

    NSLog(@"今天的三餐的平均消费是:%f",[ed getAverage]);
    return 0;
}
}



这是哪个老师讲的,好经典,


作者: 呐小伟    时间: 2015-12-3 00:22
老师讲得  我来教你
作者: hei军    时间: 2015-12-3 00:27
大家在里边刷一下,有些因为不能显示
作者: xiaojunru    时间: 2015-12-6 23:42
大神讲得太好了
作者: 744919632    时间: 2015-12-8 19:28
封装(private)
        private特点:
                a: private是一个修饰符
                b: private可以修饰成员变量也可以修饰成员方法
                c: 被private修饰的成员只能在本类中使用
this关键字

        this关键字:        代表的是本类对象的一个引用,谁调用我方法中的this就代表谁.
        this存在的解决的问题:
        就是局部变量隐藏了成员变量的时候,我们可以通过this来明确访问的是成员变量





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2