面向对象之多态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象之多态相关的知识,希望对你有一定的参考价值。

面向对象之多态:

  由于子类重写父类方法,然后用父类引用指向子类对象,调用方法时候会进行动态绑定,这就是多态

面向对象编程之接口:

  接口(interface)是抽象方法和静态常量定义的集合。 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。 接口中没有其它类型的内容

  接口的定义 interface 接口名{ public getName(); public setName($name); } 在接口中的抽象方法只能是 public 的,默认也是 public 权限。 并且不能设置成 private 或者 protected 类型

面向对象编程之抽象:

  ①可以使用 abstract 来修饰一个类或者方法。② 用 abstract 修饰的类表示这个类是一个抽象类, 用 abstract 修饰的方法表示这个方法是一个抽象方法。③ 抽象类不能被实例化。 ④抽象方法是只有方法声明,而没有方法的实现内容。

  可以使用 abstract 来修饰一个类。 用 abstract 修饰的类表示这个类是一个抽象类。 抽象类不能被实例化。

  用 abstract 修饰的类表示这个方法是一个抽象方法。 抽象方法,只有方法的声明部分,没有方法体。 抽象方法没有 {} ,而采用 ; 结束。 一个类中, 只要有一个抽象方法, 这个类必须被声明为抽象类。 抽象方法在子类中必须被重写。

面向对象编程之多态:

  对象的多态性是指在父类中定义的属性或行为被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在父类及其各个子类中具有不同的语义。

  多态这个概念,在 Java 中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。 在 php5 中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对 象、资源等。我们无法说 PHP5 中多态的是变量。 我们只能说在 PHP5 中,多态应用在方法参数的类型提示位置。

  一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。 所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。 简单的说,一个类拥有其父类、和已实现接口的身份。

  多态的实现 1 通过实现接口实现多态 2 通过继承实现多态

 以上就是面向对象之多态的部分内容。

 

以上是关于面向对象之多态的主要内容,如果未能解决你的问题,请参考以下文章

面向对象之多态

5_面向对象-中之面向对象的特征三:多态性

15:面向对象三大特性(封装继承多态)之多态

Java面向对象之多态

Java面向对象之多态

Python--面向对象之多态与多态性