【C++】面向对象基本原理、类、继承、多态和操作符重载等。——继承

继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

对象(事物)的属性有的是特有属性,有的是共有属性。

对象的特有属性是指为一类对象独有而为别类对象所不具有的属性。

在这里插入图片描述

人们就是通过对象的特有属性来区别和认识事物的。

如两足、无毛、直立行走、能思维、会说话、能制造和使用生产工具进行劳动是“人”的特有属性,从而将“人”与其他高等动物区分开。

而有五官、四肢、有内脏和血液循环等则不仅为人所具有,也为其他高等动物所具有,我们称为共有属性。共有属性没有区别性。
在这里插入图片描述
1、子类拥有父类的特征,而父类没有,父类更通用,子类更具体,(特征包括属性和方法,自身的特性,拥有父类没有的)

2、使用extends继承父类,语句格式:class 子类名 extends 父类名{}

在这里插入图片描述

class A{
int i;
void f(){}
}
//在这个B类里面 可以访问到A类里面的 int i; 这个变量
class B extends A{
int j;
void f(){}//重写
void g(){}
}

3、父类中一般只定义一般属性和方法

(这个一般可以理解为是子类共有的,这就是父类更通用,而子类拥有其他的,所以子类更具体)

4、子类中通过super关键字来调用父构造方法!

调用构造函数的区别:

① super关键字是调用父类的构造函数。

② this关键字是调用本类的构造函数。

super关键字调用父类构造方法要注意的事项:

注意:是两个关键字不能同时出现在同一个构造函数中去调用其他的构造函数。

5、在子类中可以继承父类得那些东西,哪些不可以继承父类中public,protected修饰的属性,方法可以继承,private修饰的属性和方法不能被继承

6、规则: 创建子类对象的时候,首先调用的是父类的无参构造方法创建一个父类对象

7、可以在子类中显示调用父类的有参构造方法

8、如果父类的属性均为private修饰,则可以通过共有的getter,setter方法来调用

如果你把一个字段公开,就意味着你可以直接访问调用方。然后,调用者可以做任何事情与你的领域,无论是有意或无意。

在这里插入图片描述

有些编程语言支持多重继承,即一个子类别可以同时有多个父类别,比如C++编程语言;而在有些编程语言中,一个子类别只能继承自一个

父类别,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。

现今面向对象程式设计技巧中,继承并非以继承类别的“行为”为主,而是继承类别的“型态”,使得元件的型态一致。另外在设计模式中提到一

个守则,“多用合成,少用继承”,此守则也是用来处理继承无法在执行期动态扩充行为的遗憾。

微信公众号“计算机基础学”关注我哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值