public、protected、private修饰类的成员

public成员可以通过对象来访问。
private成员不能通过对象来访问。
protected成员不能通过对象访问,但是当存在继承关系时,基类中的protected成员可以在派生类中使用。

public、protected、private指定继承方式

继承方式中的public、protected、private用来指明基类成员在派生类中的最高访问权限。

public继承方式:

  • 基类中所有 public 成员在派生类中为 public 属性;
  • 基类中所有 protected 成员在派生类中为 protected 属性
  • 基类中所有 private 成员在派生类中不能使用。

protected继承方式:

  • 基类中的所有 public 成员在派生类中为 protected 属性;
  • 基类中的所有 protected 成员在派生类中为 protected 属性;
  • 基类中的所有 private 成员在派生类中不能使用。

private继承方式:

  • 基类中的所有 public 成员在派生类中均为 private 属性;
  • 基类中的所有 protected 成员在派生类中均为 private 属性;
  • 基类中的所有 private 成员在派生类中不能使用。

注意:基类的private成员可以被派生类继承,并且(成员变量)会占用派生类对象的内存,它只是在派生类中不可见,导致无法使用。

注意:在派生类中访问基类private成员的唯一方法就是借助基类的非private成员函数。

改变访问权限

使用using关键字可以改变基类成员在派生类中的访问权限,例如,将public改为private、将protected改为public。
但是不能改变private成员的访问权限,因为基类中private成员在派生类中是不可见的。

posted on 2020-02-23 14:37  xiaobaizzZ  阅读(179)  评论(0编辑  收藏  举报