继承属性
2017-07-11 19:19
141 查看
一、继承:
类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。
继承的格式 class 子类名 : 继承属性(公有,保护,私有) 父类名称
子类继承的父类除构造函数析勾函数的所有。默认是私有继承
二、继承属性
公有继承 class D : public Base
公有继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类是公有,继承在子类还是公有,保护还是保护,私有数据还是私有数据
特别需要注意的就是:子类继承的父类私有数据不能通过子类的公有方法去访问,毕竟父类的私有是父类的私有,和子类的私有还是有区别的
beb0
,但是你要访问父类的私有可以通过父类的公有方法间接访问。
通过对象只能访问类的公有方法,要访问类的私有数据只有通过公有方法。
保护继承 class D : protect Base
保护继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类的公有,继承在子类变为保护,保护还是保护,私有数据还是私有数据。
类的保护方法,依旧不能被对象调用。子类保护继承了父类,就不能通过对象调用父类的公有方法(原因是保护继承,父类原来的公有方法在子类已经变成保护,保护就不能通过对象调用)
私有继承 class D : private Base
私有继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类的公有,继承在子类变为私有,保护变成私有,私有数据还是私有数据。
此时子类中继承着父类所有的属性在子类中都会
私有继承子类可以父类的全部当成它的"私有成员"(除了构造、析勾函数),要访问私有成员可以访问借助公有方法;但是父类的私有数据就不能被子里访问。
对象永远只能访问公有方法,保护的话类内部方法可以访问类中的公有和保护
三、总结
任何属性的继承:
1.首先构造函数、析勾函数不能被继承。
.其次父类的私有数据不能被直接访问,
3最后假如public属性的继承就把父类中public、protected、private在子类的还是该性质,只不过父类的私有不能被访问。
protect属性的继承就把父类中public、protected、private在子类的public看成protected、protected不变、private不变。并且父类的私有不能被子类直接访问。
private属性的继承就把父类中public、protected、private在子类的public看成private、protected看成private、private不变。并且父类的私有不能被子类直接访问
。
类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。
继承的格式 class 子类名 : 继承属性(公有,保护,私有) 父类名称
子类继承的父类除构造函数析勾函数的所有。默认是私有继承
二、继承属性
公有继承 class D : public Base
公有继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类是公有,继承在子类还是公有,保护还是保护,私有数据还是私有数据
特别需要注意的就是:子类继承的父类私有数据不能通过子类的公有方法去访问,毕竟父类的私有是父类的私有,和子类的私有还是有区别的
beb0
,但是你要访问父类的私有可以通过父类的公有方法间接访问。
通过对象只能访问类的公有方法,要访问类的私有数据只有通过公有方法。
保护继承 class D : protect Base
保护继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类的公有,继承在子类变为保护,保护还是保护,私有数据还是私有数据。
类的保护方法,依旧不能被对象调用。子类保护继承了父类,就不能通过对象调用父类的公有方法(原因是保护继承,父类原来的公有方法在子类已经变成保护,保护就不能通过对象调用)
私有继承 class D : private Base
私有继承相当于,除了父类的构造函数和析构函数没有继承,其他的都被父类继承,原来父类的公有,继承在子类变为私有,保护变成私有,私有数据还是私有数据。
此时子类中继承着父类所有的属性在子类中都会
私有继承子类可以父类的全部当成它的"私有成员"(除了构造、析勾函数),要访问私有成员可以访问借助公有方法;但是父类的私有数据就不能被子里访问。
对象永远只能访问公有方法,保护的话类内部方法可以访问类中的公有和保护
三、总结
任何属性的继承:
1.首先构造函数、析勾函数不能被继承。
.其次父类的私有数据不能被直接访问,
3最后假如public属性的继承就把父类中public、protected、private在子类的还是该性质,只不过父类的私有不能被访问。
protect属性的继承就把父类中public、protected、private在子类的public看成protected、protected不变、private不变。并且父类的私有不能被子类直接访问。
private属性的继承就把父类中public、protected、private在子类的public看成private、protected看成private、private不变。并且父类的私有不能被子类直接访问
。
相关文章推荐
- CSS教程:理解继承属性及应用
- 私有属性private的继承
- CSS元素属性继承(Cascade)
- 使用dir列出包含继承的属性
- 继承PageBookView实现自己的“属性视图”
- Java静态属性和方法的继承问题
- javascript 用call来继承实例属性
- C++学习之路—继承与派生(一):基本概念与基类成员的访问属性
- CSS继承元素属性
- Javascript中 关于prototype属性实现继承的原理图
- JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)
- 实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法,在2的基础上,在Square类中重写Rectangle类中的初始化和打印方法
- QObject提供了QMetaObject元类信息(相当于RTTI和反射),信号与连接,父子关系,调试信息,属性,事件,继承关系,窗口类型,线程属性,时间器,对象名称,国际化
- 继承、方法覆盖、父子类属性引用相关问题
- XZ_CSS之CSS属性-继承和不可继承
- C++访问属性和继承属性浅析
- Java中子类继承了父类的私有属性及方法吗?
- 用属性模拟多继承机制
- 继承后基类、派生类的访问属性
- 前端一道面试题,考察变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级