public private protected继承
时间: 2023-04-28 22:00:56 浏览: 114
public、private、protected是C++中的三种继承方式。
public继承表示派生类可以访问基类中的public成员,但不能访问基类中的private成员。
private继承表示派生类不能访问基类中的public和protected成员,只能访问基类中的private成员。
protected继承表示派生类可以访问基类中的public和protected成员,但不能访问基类中的private成员。
相关问题
为什么使用public/protected继承而不是private继承
在C++中,继承分为public、protected和private三种方式。使用public继承意味着派生类对象可以被当作基类对象使用,而使用protected和private继承意味着派生类对象只能在派生类内部使用。
通常情况下,使用public和protected继承比private继承更为常见。下面是一些使用public/protected继承而不是private继承的原因:
1. 实现"是一个"关系:public和protected继承表示派生类是一个基类的特殊类型,具有相同的接口和行为,而private继承只是为了实现代码重用。
2. 代码重用:public和protected继承可以让派生类继承基类的成员变量和函数,使得派生类可以重用基类的代码。而private继承只是为了实现代码重用,派生类无法访问基类的成员变量和函数,只能通过基类的接口来访问。
3. 可扩展性:public和protected继承可以使得派生类扩展基类的功能,增加新的成员变量和函数,而private继承只是为了实现代码重用,不能对基类进行扩展。
综上所述,使用public和protected继承比private继承更加常见,因为public和protected继承可以实现"是一个"关系,支持代码重用和可扩展性。但是在某些特殊情况下,private继承也是有用的,例如实现某些设计模式时。
public private protected internal
这是C#中的四种访问修饰符,用于控制类中的成员(字段、属性、方法等)对于其他类的可见性和访问权限。
- public:表示该成员对所有类都可见,其他类可以自由访问、调用和修改该成员。
- private:表示该成员只对当前类可见,其他类无法访问、调用和修改该成员。私有成员主要用于封装和隐藏实现细节。
- protected:表示该成员对当前类和派生类可见,其他类无法访问、调用和修改该成员。受保护成员主要用于实现类的继承和多态。
- internal:表示该成员对当前程序集内的所有类可见,其他程序集无法访问、调用和修改该成员。内部成员主要用于实现模块化和组件化的程序设计。
在使用访问修饰符时,需要根据实际需求和设计目的来选择合适的修饰符,以确保程序的安全性、稳定性和可维护性。
阅读全文