C++05、初识类和对象

来源:互联网 发布:java 小红本 编辑:程序博客网 时间:2024/06/08 19:31


看完代码是不是觉得,类和结构体一样。对,刚开始的时候,我们完全可以忽略其他,不去管什么多态重载以及继承什么的,就可以认为类和结构体一样,都是重新定义了一个新的类型,就如int  k,float m,char c 一样。没必要非像某些的二流讲师,一定要把面向对象拔高到哲学高度一样,搞得大家都云里雾里的。完全可以把i和j 这些所谓的对象,看作就是SRect或CRect这两个类型的变量,就和k 、m、c分别是 int 、float 和char的变量一样一样的,只不过可以干的事多一点而已。

除了上面的,看完代码,是不是会觉得哪里不对劲?为什么面积可以随意更改,不是应该由长和宽决定吗?这是个问题,所以我们引出另一个话题,封装。

封装:即隐藏对象的属性和实现细节,仅对外公开接口。说白了,封装就是扔给一只猫一个包子,让它吃着香,可就是不让它知道这包子是老鼠肉做的。

为了封装一下,于是我们又看到类CRect的另外一个写法:


在这里我们利用了private属性,隐藏了面积这一成员变量(老鼠肉)。同时通过getSquare()函数(包子),提供了一个可以获得面积(老鼠肉)的接口。



0 0
原创粉丝点击