面向对象之继承(读书笔记)

重写和重载的区别:

  重载是指同一个类中有若干个名称相同但参数不同的函数,调用函数时,系统会根据实参情况,调用参数完全匹配的那个函数。

  重写是指在继承关系中,在派生类中重写由基类继承来的函数(只能是基类的虚函数,如果基类是抽象类,则重写且必须重写基类的抽象函数)。

也即:重载函数发生在同一个类中的同名函数之间,主要是扩展现有的方法。重写函数发生在基类和派生类之间,主要用来子类实现同一个行为的不同表示方法,也就是替换父类中的同名方法。

private与protected的区别:

private:等级最低,只能在本类中使用,不能再派生类中使用;

protected:可以也只能在派生类中使用,也就是说即使本类的实例化对象在类外也不能直接调用它;

public:可以在派生类中使用,也可以通过类的实例化对象调用。

普通函数的隐藏:

  由于只能重写基类中的虚函数,而普通函数不能重写,因此要想在派生类中修改基类的普通函数,需要用NEW关键字隐藏基类中的函数。

抽象类、抽象函数、抽象属性:

  当某种类是一个抽象的概念时,如脊椎动物(包括鱼类、鸟类、哺乳动物等),可以设计成抽象类(Abstract class),抽象类不能实例化为对象,只能做为派生类的基类而存在。

  抽象函数是一种特殊的虚函数,它只能定义在抽象类中。抽象函数没有任何执行代码,需要在派生类中用重写的方式具体实现。

  抽象属性类似于抽象函数。

抽象函数和虚函数:

派生类必须实现(重写)父类的抽象函数,却不一定要实现虚函数。

密封类和密封函数:

  密封类不能被继承,密封函数不能被派生类重写。

派生类的构造函数:

1、带参数的构造函数

   在派生类的构造函数中,可以显示地初始化从基类继承来的public和protected成员,也可以通过基类public属性初始化基类的私有成员。

2、显示调用基类的构造函数

  因为派生类不能使用基类的私有变量,所以不能通过派生类的构造函数初始化基类的私有变量,但是可以通过基类的构造函数实现,当然也可以通过显示调用基类的构造函数初始化基类的公有变量和私有变量。

  因为初始化时,是从基类的构造函数开始往派生类执行,故一般情况下尽量用基类的构造函数初始化基类的成员。

转载于:https://www.cnblogs.com/lixiangfa/archive/2010/12/01/1892508.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值