java技术博客

jsp博客
数据加载中……
java的多态
/*  北大青鸟APTECH.
 *  版权所有
 
*/


/**
 * 这个程序演示动态多态性的用法.
 * 
@version 1.0 2005 年 5 月 20 日
 * 
@author Michael
 
*/

abstract class Shape {

    
/** 存储任何形状的长. */
    
protected double length;

    
/** 存储任何形状的宽. */
    
protected double width;

    
/** 
     * 构造方法.
     * 
@param num 传递至构造方法
     * 
@param num1 传递至构造方法
     
*/

    Shape(
final double num , final double num1) {

    
/** 初始化变量. */
        length 
= num;
        width 
= num1;
    }


    
/**
     * 抽象方法.
     * 
@return double 值
     
*/

    
abstract double area();
}


/**
 * 这个类重写父类的方法.
 * 
@version 1.0 2005 年 5 月 20 日
 * 
@author Michael
 
*/


class Square extends Shape {

    
/** 构造方法.
     *
@param num 传递至构造方法的参数
     *
@param num1 传递至构造方法的参数
     
*/

    Square(
final double num, final double num1) {
        
super(num, num1);
    }


    
/**
     * 计算正方形的面积.
     * @return传递给构造方法的 length
     
*/


    
double area() {
        System.out.println(
"正方形的面积为:" );
        
return length * width;
    }

}


/**
 * 这个类重写父类的方法.
 * 
@version 1.0 2005 年 5 月 20 日
 * 
@author Michael
 
*/


class Triangle extends Shape {

    
/** 构造方法.
     *
@param num 传递至构造方法的参数
     *
@param num1 传递至构造方法的参数
     
*/

    Triangle(
final double num, final double num1) {
        
super(num, num1);
    }


    
/**
     * 计算三角形的面积.
     *
@return double  传递给构造方法的length
     
*/


    
double area() {
        System.out.println(
"三角形的面积为:" );
        
return (0.5 * length * width);
    }

}


/**
 * 这个类测试对象引用.
 * 
@version 1.0 2005 年 5 月 20 日
 * 
@author Michael
 
*/


public class CalculateArea {

    
/** 构造方法. */
    
protected CalculateArea() {
    }


    
/**
     * 这是 main 方法.
     * 
@param arg 传递至 main 方法的参数
     
*/


    
public static void main(final String[] arg) {
        
// 初始化变量
        Shape fObj;
        Square sqObj 
= new Square(10 , 20);
        Triangle trObj 
= new Triangle(12 , 8);
        fObj 
= sqObj;
        System.out.println(fObj.area());
        fObj 
= trObj;
        System.out.println(fObj.area());
    }

}

posted on 2008-10-29 07:39 郭兴华 阅读(133) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: