注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尝试将复杂的问题简单化-zzy

纸上得来终觉浅,绝知此事要躬行。

 
 
 

日志

 
 
关于我

教书是职业的要求,教学是份内的事,要努力做一个好教师.

网易考拉推荐

<OOP> 实验十二 程序的多态性  

2007-11-14 08:35:45|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 12.1  实验目的

1、理解多态性的概念;

2、理解继承层次结构中对象间的关系;

3、区分抽象类与具体类;

4、掌握多态性程序和抽象类程序的设计技巧。

12.2实验内容

1、  这有一个几何形状的多态性程序例子,请根据参考程序画出程序的UML图。下面是参考程序:

import java.util.*;

class Shape {

  void draw() {}

  void erase() {}

}

class Circle extends Shape {

  void draw() {

    System.out.println("Circle.draw()");

  }

  void erase() {

    System.out.println("Circle.erase()");

  }

}

class Square extends Shape {

  void draw() {

    System.out.println("Square.draw()");

  }

  void erase() {

    System.out.println("Square.erase()");

  }

}

class Triangle extends Shape {

  void draw() {

    System.out.println("Triangle.draw()");

  }

  void erase() {

    System.out.println("Triangle.erase()");

  }

}

// A "factory" that randomly creates shapes:

class RandomShapeGenerator {

  private Random rand = new Random();

  public Shape next() {

    switch(rand.nextInt(3)) {

      default:

      case 0: return new Circle();

      case 1: return new Square();

      case 2: return new Triangle();

    }

  }

}

 

public class Shapes {

   private static RandomShapeGenerator gen =

    new RandomShapeGenerator();

  public static void main(String[] args) {

    Shape[] s = new Shape[9];

    // Fill up the array with shapes:

    for(int i = 0; i < s.length; i++)

      s[i] = gen.next();

    // Make polymorphic method calls:

    for(int i = 0; i < s.length; i++)

      s[i].draw();

     }

} ///:~

2、 Create an inheritance hierarchy of Rodent: Mouse, Gerbil, Hamster, etc. In the base class, provide methods that are common to all Rodents, and override these in the derived classes to perform different behaviors depending on the specific type of Rodent. Create an array of Rodent, fill it with different specific types of Rodents, and call your base-class methods to see what happens.

12.3 实验程序和实验结果:

12.4 请简述您所理解的程序的“多态性”。

 

  评论这张
 
阅读(565)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017