35、面向对象编程:继承

面向对象编程:继承

1. 引言

在面向对象编程(OOP)中,继承是一个重要的概念。通过继承,新的类可以获取现有类的成员,并可能添加新的或修改后的功能。这样做不仅可以在程序开发过程中节省时间,基于现有的、经过验证和调试的高质量软件来创建新类,还能提高系统有效实施和维护的可能性。

当创建一个新类时,我们不必完全声明全新的成员,而是可以指定该新类继承现有类的成员。现有类被称为超类(superclass),新类则是子类(subclass)。子类还可以成为未来子类的超类。子类可以添加自己的字段和方法,因此它比超类更具体,代表了更特殊的一组对象。子类继承了超类的行为,并且可以修改这些行为以适应自身的需求,这就是为什么继承有时也被称为特化(specialization)。

在 Java 中,类层次结构始于 Object 类(位于 java.lang 包中),所有的 Java 类都直接或间接地扩展(或“继承自”)这个类。Java 只支持单继承,即每个类只能从一个直接超类派生。与 C++ 不同,Java 不支持多继承(一个类从多个直接超类派生)。

我们需要区分“is-a”关系和“has-a”关系。“is-a”代表继承,在这种关系中,子类的对象也可以被视为超类的对象,例如汽车是一种交通工具。而“has-a”代表组合,在这种关系中,一个对象包含对其他对象的引用,例如汽车有一个方向盘。

新的类可以从类库中的类继承。组织可以开发自己的类库,也可以利用全球可用的其他类库。未来,大多数新软件可能会由标准化的可重用组件构建而成,就像现在的汽车和大多数计算机硬件一样,这将有助于快速开发更强大、丰富且经济的软件。 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值