Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16492577
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:51:00

下载本文示例代码
  多态性(polymorphism)是面向对象编程的属性,它允许多个方法使用同一个接口。Java从多个方面支持多态性,其中两个方面最为突出。第一个是每个方法(标记为 final的方法除外)都可以被子类重写;第二个是设立interface关键字。下面将给出这两方面的详细介绍。   由于超类中的方法可以在派生类中重写,因此创建类的层次结构非常简单。在类的层次结构中,每个子类都将它的超类特化(specialization)。大家知道,超类的一个引用可以引用它的任何一个子类,而且通过超类的引用调用某子类对象的一个方法时,会自动执行由该子类重写后的版本。因此,可以用超类来定义对象的形式并提供对象的默认实现,而子类根据这种默认实现进行修改,以更好地适应具体情况的要求。因此,在超类中定义的一个接口可以作为多个不同实现的基础。   当然,Java进一步采取了“一个接口,多个方法”的概念。它定义了interface关键字,这样就可以将类的方法和类的实现完全分离。尽管接口是抽象的,但是仍然可以声明接口类型的引用。这个概念非常重要,因为它可以改进多态性的应用。只要某个类实现一个接口,并且该接口提供了某种功能,那么任何需要这种功能的代码都可以使用这个类的对象。例如,假设某个接口的名称为MyIF,考虑下面的方法:   void myMeth(MyIF ob) {   // ...   }   任何实现了MyIF接口的对象都可以传递给myMeth()方法。该对象的其他功能无需考虑。myMeth()方法可以对任何实现了MyIF接口的对象进行操作。  查阅关于Java的全部文档   多态性(polymorphism)是面向对象编程的属性,它允许多个方法使用同一个接口。Java从多个方面支持多态性,其中两个方面最为突出。第一个是每个方法(标记为 final的方法除外)都可以被子类重写;第二个是设立interface关键字。下面将给出这两方面的详细介绍。   由于超类中的方法可以在派生类中重写,因此创建类的层次结构非常简单。在类的层次结构中,每个子类都将它的超类特化(specialization)。大家知道,超类的一个引用可以引用它的任何一个子类,而且通过超类的引用调用某子类对象的一个方法时,会自动执行由该子类重写后的版本。因此,可以用超类来定义对象的形式并提供对象的默认实现,而子类根据这种默认实现进行修改,以更好地适应具体情况的要求。因此,在超类中定义的一个接口可以作为多个不同实现的基础。   当然,Java进一步采取了“一个接口,多个方法”的概念。它定义了interface关键字,这样就可以将类的方法和类的实现完全分离。尽管接口是抽象的,但是仍然可以声明接口类型的引用。这个概念非常重要,因为它可以改进多态性的应用。只要某个类实现一个接口,并且该接口提供了某种功能,那么任何需要这种功能的代码都可以使用这个类的对象。例如,假设某个接口的名称为MyIF,考虑下面的方法:   void myMeth(MyIF ob) {   // ...   }   任何实现了MyIF接口的对象都可以传递给myMeth()方法。该对象的其他功能无需考虑。myMeth()方法可以对任何实现了MyIF接口的对象进行操作。  查阅关于Java的全部文档 下载本文示例代码


对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进对Java程序多态性支持的改进
阅读(547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~