1.6继承
对象,将数据和功能封装在一起。但是还是要很多麻烦事。比如在创建一个类之后,即使另一个新类与其具有相似的功能,你还是得创建一个新类。如果我们能够以现有的类为基础,复制它,然后通过添加和修改这个副本来创建新类那就要好多了。通过继承便可以达到这样的效果,不过也有例外,当源类(基类,超类和父类)发生变动时,被修改的“副本”(导出类,继承类和子类)也会反映出这些变动。
继承使用基类型和导出类型的概念表示了这种类型之间的相似性。一个基类型包含其所有导出类型所共享的特性和行为。可以创建一个基类型来表示系统中某些对象的核心概念,从基类型中导出其他类型,来表示此核心可以被现实的各种不同方式。
例:垃圾回收机。垃圾为基类,每一件垃圾都有重量,价值等,可以被切碎、融化、分解。在此基础上添加额外的特性(例瓶子有颜色)或者行为(例铝罐可以被切割)导出更具体的垃圾类型。
有两种方法可以使基类与导出类产生差异。第一,直接在导出类中添加新的方法,这些方法并不是基类接口的一部分。第二,覆盖,可以直接在导出类创建该方法的新定义即可。