多态_重载_覆盖的区别.pdfVIP

  • 25
  • 0
  • 约2.33千字
  • 约 3页
  • 2018-05-25 发布于河南
  • 举报
多态_重载_覆盖的区别

多态 重载 覆盖 区别 所谓多态,是指一个程序中同名的不同方法共存的情况。通过继承,一个类可以 用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任 何接口类型。这称为多态性。面向对象的程序中多态的情况有多种,可以通过子 类对父类方法的覆盖实现多态,也可以利用重载在同一个类中定义多个同名的不 同方法。 方法的覆盖:子类对继承自父类的方法的重新定义。 重载:同一个类中定义多个同名方法的情况。 多态情况下进行方法的调用时,如何区分这些同名的不同方法呢? 在覆盖中,由于同名的不同方法是存在于不同的类中,所以只需要在调用方法时, 指明调用的是哪个类的方法,就可以很容易地把它们区分开来。而在重载多态中, 由于重载发生在同一个类中,不能再用类名来区分不同的方法,所以一般采用不 同的形式参数列表,包括形式参数的个数、类型、顺序的不同,来区分重载的方 法。 另外看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用 子类的方法。 例子如下: class Triangle extends Shape { public int getSides() { return 3; } } class Rectangle extends Shape { public int getSides(int i) {

文档评论(0)

1亿VIP精品文档

相关文档