/*
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:继承的练习
* 作 者:薛广晨
* 完成日期:2012 年 10 月 17 日
* 版 本号:x1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述: (1)封装一个People类型,具有height和weight属性,具有speakHello、averageHeight、averageWeight功能。
(2)封装一类ChinaPeople类型是People的子类,新增chinaMartial功能,override超类的speakHello、averageHeight、averageWeight功能。
(3)封装一类AmericanPeople类型是People的子类,新增AmericanBoxing功能,override超类的speakHello、averageHeight、averageWeight功能。
(4)封装一类BeijingPeople类型是ChinaPeople的子类,新增BeijingOpera功能,override超类的speakHello、averageHeight、averageWeight功能。
(5)用一个程序执行入口Test测试上述对象
* 程序输出:
* 程序头部的注释结束
*/
//People类
package xgc;
public class People {
private double height;
private double weight;
public People()
{
this.height = 10;
this.weight = 10;
}
public People(double height, double weight)
{
this.height = height;
this.weight = weight;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public void speakHello()
{
System.out.println("Hello");
}
public void averageHeight()
{
}
public void averageWeight()
{
}
}
//ChinaPeople
package xgc;
public class ChinaPeople extends People {
public void chinaMartial()
{
System.out.println("ChinaPeople 太极 very good");
}
public void speakHello()
{
System.out.println("ChinaPeople 说 你好");
}
public void averageHeight()
{
setHeight(1.7);
System.out.println("ChinaPeople averageHeight = "+ getHeight());
}
public void averageWeight()
{
setWeight(70);
System.out.println("ChinaPeople averageWeight = "+ getWeight());
}
}
//AmericanPeople
package xgc;
public class AmericanPeople extends People{
public void AmericanBoxing(){
System.out.println("AmericanPeople Boxing very good");
}
public void speakHello()
{
System.out.println("AmericanPeople say Hello");
}
public void averageHeight()
{
setHeight(1.8);
System.out.println("AmericanPeople averageHeight = "+ getHeight());
}
public void averageWeight()
{
setWeight(75);
System.out.println("AmericanPeople averageWeight = "+ getWeight());
}
}
//BeijingPeople
package xgc;
public class BeijingPeople extends ChinaPeople{
public void BeijingOpera(){
System.out.println("BeijingOpera very good");
}
public void speakHello()
{
System.out.println("BeijingPeople 说 你好");
}
public void averageHeight()
{
setHeight(1.75);
System.out.println("ChinaPeople averageHeight = "+ getHeight());
}
public void averageWeight()
{
setWeight(73);
System.out.println("AmericanPeople averageWeight = "+ getWeight());
}
}
//测试类Test
package xgc;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ChinaPeople cp = new ChinaPeople();
cp.speakHello();
cp.chinaMartial();
cp.averageHeight();
cp.averageWeight();
System.out.println();
AmericanPeople ap = new AmericanPeople();
ap.speakHello();
ap.AmericanBoxing();
ap.averageHeight();
ap.averageWeight();
System.out.println();
BeijingPeople bp = new BeijingPeople();
bp.speakHello();
bp.BeijingOpera();
bp.averageHeight();
bp.averageWeight();
System.out.println();
}
}
运行结果: