继承 (计算机科学)
外观
(重定向自單一繼承)
继承(英語:inheritance)是面向对象软件技术当中的一个概念。如果一个类別B「继承自」另一个类別A,就把这个B称为「A的子类」,而把A称为「B的父类別」也可以称「A是B的超类」。继承可以使得子类具有父类別的各种属性和方法,而不需要再次编写相同的代码。在令子类別继承父类別的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类別的原有属性和方法,使其获得与父类別不同的功能。另外,为子类追加新的属性和方法也是常见的做法。 一般靜態的物件導向程式語言,繼承屬於靜態的,意即在子類別的行為在編譯期就已經決定,無法在執行期擴充。
有些编程语言支持多重继承,即一个子类可以同时有多个父類別,比如C++编程语言;而在有些编程语言中,一个子類只能继承自一个父類別,比如Java编程语言,这时可以透過實作接口来实现与多重继承相似的效果。
現今物件導向程式設計技巧中,繼承並非以繼承類別的「行為」為主,而是繼承類別的「型態」,使得元件的型態一致。另外在設計模式中提到一個守則,「多用合成,少用繼承」,此守則也是用來處理繼承無法在執行期動態擴充行為的遺憾。
参见
[编辑]这是一篇關於電腦程式語言的小作品。您可以通过编辑或修订扩充其内容。 |