大前端

前端学习之家-大前端

面对对象编程(二)

在面向对象编程中主要有三大特征:

 1.封装

 2.继承

 3.多态

1.封装,即隐藏对象的属性和实现细节,仅对外公开接口,我在以往的编程时,经常发现,一个模块与外界耦合度越低.越好复用与移植.

通俗的讲: 面对对象编程时,我们需要把我们描述对象的类包装起来.让描述对象的数据与行为看上去是一个整体.而不是像C语言一样分散.在C++中,声明类的方式有两种关键字

struct 和 class .  

struct 我们见过.它在C语言中是结构体声明的关键字.在C++中,除了声明结构体,它还多出两种特性.

例:

struct test{

public:

    int a;

    int fun(){

        return a*3;

    }

};


 第一种特性就是,结构体里不再是单纯的数据了.而且可以在这里面实现函数.这样,我们的类在描述对象时就方便了很多.可以在一个数据结构里描述对象的属性与行为.

第二种特性就是权限:

在C中,struct 声明的结构体,实例化对象后,对象中的成员变量,是可以被任意访问的.在C++中,这个默认的特性没有改变.但是它却可以增加权限说明关键字,来说明那些数据与行为是可以被访问的.那些数据是不可被访问的.C++的类中, 

有三种权限

1.public          //公有访问权限,可以被任何人访问

2.protected  //保护访问权限,可以被其子类访问,不能被类外访问

3.private//私有访问权限.只可被自己的成员访问.

而 struct 的默认访问权限是公有的.所以它的所有成员都是可以被任何人访问的.但是如果你对它的成员使用了其它权限,那么,它的成员只能被相应权限的人访问.

class关键字与struct最大的不同,就在于默认的访问权限.class的默认访问权限是私有的.而struct是公有的.

class更常用一些.因为根据"不和陌生人说话"原则, 类的内部成员和外界只能保留最小接口.所以只有预留的接口函数才能被外界访问,是公有的.其它成员都都应该是私有的或是保护的访问权限.

发表评论:

Copyright Your WebSite.Some Rights Reserved.