C++_类继承4-访问控制protected

public和private来控制对类成员的访问。

       还存在另外一个访问类别,这种类别用关键字protected表示。protected和private相似,在类外只能用公有类成员来访问protected部分中的类成员。但是它们之间的区别体现在基类派生的类中。派生类的成员可以直接访问基类的保护成员,但不能直接访问基类的私有成员。对于外部世界来说,保护成员的行为和私有成员相似。但对于派生类来说,保护成员的行为与公有成员相似。

       保护访问控制的好处是,让派生类能够访问公众补鞥呢使用的内部函数。最好对数据成员采用私有访问控制,不要使用保护访问控制,同时通过基类方法使派生类能够访问基类数据。

       使用保护数据成员可以简化代码的编写工作,但存在设计缺陷,就是派生类如果把继承的保护数据成员的修改方式写到公有成员函数里,这样通过派生类的成员函数来访问该保护成员,这样实际上使得该保护数据成员成为公有变量。

猜你喜欢

转载自www.cnblogs.com/grooovvve/p/10422298.html