最主要的就是要记住:父类成员在子类、类的外部(非本类或者子类的类体里,包括本类或者子类的对象去调用都属于外部) 中的3种访问属性:
1.public: 可以给子类或者类的外部访问;
2.protected: 可以给子类访问,不能给类的外部访问;
3.private: 子类和类的外部访问都不能访问。
首先:一个类的数据成员或者成员函数,有 public protected private 这3种被访问属性,
对于本类的数据成员、成员函数、本类的对象而言:关于这3种被访问方式,我的理解是:
1.在本类的类体里,数据成员只能被成员函数访问,不能被直接使用;
2.在类体外,类的数据成员或者成员函数,只能被类的对象访问,不能直接使用它们;
3.并且本类的对象只能访问本类的public的数据成员和成员函数, protected private的数据成员或者成员函数都不能被类对象访问;
记住以上2点后,我们要再知道的就是3种继承方式,即对于子类从父类继承来的数据成员或者成员函数,在子类中的被访问属性是如何变化的:
我们在每一个子类里,把他们当成本类,参考上面的知识点,就知道子类的 数据成员、成员函数、类对象之间的可调用方式了。
3种继承方式的影响:
1.public方式继承时: 父类中的数据成员或者成员函数在子类中被访问的属性是不变的;
2.protected方式继承时: 父类中的public数据成员或者成员函数在子类中被访问的属性变成了protected,其余不变;
3.private方式继承时: 父类中的public、private数据成员或者成员函数在子类中被访问的属性都变成了private。