继承 (计算机科学) 编辑
继承是面向对象程序设计软件技术当中的一个概念。如果一个类别B“继承自”另一个类别A,就把这个B称为“A的子类”,而把A称为“B的父类别”也可以称“A是B的超类”。继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。另外,为子类追加新的属性和方法也是常见的做法。
一般静态的物件导向程式语言,继承属于静态的,意即在子类别的行为在编译期就已经决定,无法在执行期扩充。
1
相关
委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。委托模式使得我们可以用聚合来替代继承,它还使我们可以模拟Mixin。
在面向对象编程领域,C++、Object Pascal 等语言中有虚函数或虚方法的概念。这种函数或方法可以被子类继承和覆盖,通常使用动态分派实现。这一概念是面向对象编程中多型的重要组成部分。简言之,虚函数可以给出目标函数的定义,但该目标的具体指向在编译期可能无法确定。
在面向对象程序设计中,内部类又称嵌套类,是一个完全在另一个类或接口的内部中声明的类。它与继承是有所区别。内部类可以访问外部类私有数据,但外部类不能访问内部类的成员。
基于对象语言,常指某种编程语言使用了“对象”该概念,即将状态和操作封装在“对象”里面。面向对象语言除了拥有“对象”该概念以外,还拥有继承等功能。面向对象语言是基于对象编程语言的子集。
物件导向程式设计中的多重继承指的是一个类可以同时从多于一个父类继承行为与特征的功能。与单一继承相对,单一继承指一个类别只可以继承自一个父类。
物件导向程式设计中的多重继承指的是一个类可以同时从多于一个父类继承行为与特征的功能。与单一继承相对,单一继承指一个类别只可以继承自一个父类。
面向对象程序设计中的委托是指使用另一个对象的上下文,对一个对象的成员求值。通过把发送者对象传递给接收者对象,任何面向对象语言都可以做显式的委托。如果语言特性支持成员查询规则,则可以做隐式的委托。隐式委托是基于原型编程中行为重用的基本方法,对应于基于类编程的继承。支持委托的最知名语言是Self和JavaScript。
面向对象程序设计中的委托是指使用另一个对象的上下文,对一个对象的成员求值。通过把发送者对象传递给接收者对象,任何面向对象语言都可以做显式的委托。如果语言特性支持成员查询规则,则可以做隐式的委托。隐式委托是基于原型编程中行为重用的基本方法,对应于基于类编程的继承。支持委托的最知名语言是Self和JavaScript。
在面向对象程序设计中,内部类又称嵌套类,是一个完全在另一个类或接口的内部中声明的类。它与继承是有所区别。内部类可以访问外部类私有数据,但外部类不能访问内部类的成员。
在面向对象编程领域,C++、Object Pascal 等语言中有虚函数或虚方法的概念。这种函数或方法可以被子类继承和覆盖,通常使用动态分派实现。这一概念是面向对象编程中多型的重要组成部分。简言之,虚函数可以给出目标函数的定义,但该目标的具体指向在编译期可能无法确定。