java多态性

java多态性
1、 实验内容或题目
(1) 定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写编写应用程序使用Rectangle类和Circle类。
(2) 定义一个接口ClassName,接口中只有一个抽象方法getClassName()。设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。编写应用程序使用Horse类。
(3) 定义接口myItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。
(4) 编写小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动(提示:得到键盘键代码的方法是e.getKeyCode(),上、下、左、右键的编码分别用常量VK_UP 、VK_DOWN 、VK_LEFT 、VK_RIGHT表示)。
2、实验目的与要求
⑴ 多态性。
⑵ 接口的定义和实现接口。
⑶ 内部类、匿名内部类对象的的编写和使用。
3、 实验步骤与源程序
  ⑴ 实验步骤
    编辑源文件,可用Jcreater或EditPlus 2软件编辑
  编译,若编译成功,则进入运行,进入DOS下运行 javac  XX.java;若不成功,则返回编辑源文件
  运行文件java  XX   或appletviewer  XX.htm等
   
  ⑵ 源代码
题目一:
public class UseAbstract
 {
  public static void main(String[] args)
  {
   Shape rec =new Rectangle(4,7);
   Shape cir = new Circle(8);
   System.out.println("长方形的面积:"+rec.getArea());
   System.out.println("圆的面积:"+cir.getArea());
  }
 }
  abstract class Shape
 {
  public abstract double getArea();
 }
  class Rectangle extends Shape
 {
  double d,w;
  public Rectangle(double d,double w)
  {
   this.d=d;
   this.w=w;
  }
  public double getArea()
  {
   return d*w;
  }
 }
  class Circle extends Shape
 {
  double r;
  public Circle(double r)
  {
   this.r=r;
  }
  public double getArea()
  {
   return Math.PI*r*r;
  }
 }

题目二:
interface ClassName
{
 public abstract void getClassName();
}
class Horse implements ClassName
{
 public void getClassName()
 {
  System.out.println("该类名为:Horse");
 }
}
public class UseInterface
{
 public static void main(String[] args)
 {
  Horse h =new Horse();
     h.getClassName();
 }
}
题目三:
public class Test
{
 public static void main(String[] args)
 {
  A a=new A();
  System.out.println(a.area(6));
 }
}
interface myItfc
{
    public double area (double a); 
}
class A implements myItfc
{
  public double area (double a)
  {
   
   
   return a*a*a;
  }
}

题目四:
import java.awt.*;
import java.applet.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class AppMove extends Applet implements KeyListener{
 
  int x=200,y=100;
 
public void paint(Graphics g) {
  g.drawString("Welcome to Java!!", x, y );
 }
  public void init()
  {
   addKeyListener(this);
  }
 
 public void keyPressed(KeyEvent e){
 if(e.getKeyCode()==KeyEvent.VK_UP)
 y-=3;
 else if(e.getKeyCode()==KeyEvent.VK_DOWN)
 y+=3;
 else if(e.getKeyCode()==KeyEvent.VK_LEFT)
 x-=3;
 else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
 x+=3;
        repaint();
  } 
 
 public void keyReleased(KeyEvent e){
 }
 public void keyTyped(KeyEvent e){
 }
}   
   
4、 测试数据与实验结果(可以抓图粘贴)
题目一:

题目二:

题目三: 

题目四: 
   
5、 结果分析与实验体会
  本次实验是java程序语言设计的第六次实验了,这六次实验对我们的非常重要,有助于帮助我们理解java程序设计语言。
  实验还是4题。第一题是定义一个抽象基类Shape,用getArea()方法计算对象的面积。第二题是设计一个类Horse,获取该类的的类名。第三题编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。第四题做的是显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动。这四道题目与以前做的大致相同。
  java课程学习已经接近了尾声。在这一个学期不到的时间内,我们学习到了java程序语言设计。Java 程序设计与以前我们学过的C\C++有许多的类似之处。所以也能较好的理解这门课程,做实验是为了将我们书本上学到的知识转化为实际的操作经验,能动手编程、调试,是与我们学校给我们定义技术型本科相符合的。我们现在要做好java程序设计的期末复习工作,更好的学习和掌握这门课程。379

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有