Java57_孙明明_Java_作业1111

//父类

package org.jsoft.HomeWork;

public abstract class Type {
private double r;  //圆的半径 
private double width; //矩形的宽
private double heigh;//矩形的高
private double l;//正方形的长
public double getR() {
    return r;
}
public void setR(double r) {
    this.r = r;
}
public double getWidth() {
    return width;
}
public void setWidth(double width) {
    this.width = width;
}
public double getHeigh() {
    return heigh;
}
public void setHeigh(double heigh) {
    this.heigh = heigh;
}
public double getL() {
    return l;
}
public void setL(double l) {
    this.l = l;

}public abstract void typ1();//抽象方法,子类需要重写

}

 

//子类

//圆

package org.jsoft.HomeWork;

public class Circle extends Type{

    @Override
    public void typ1() {//重写父类的type1方法
        // TODO Auto-generated method stub
        System.out.println("半径为"+getR()+"的圆");
    }

}
//矩形

package org.jsoft.HomeWork;

public class Rectangle extends Type{

    @Override
    public void typ1() {//重写父类的type1方法
        // TODO Auto-generated method stub
        System.out.println("长为"+getHeigh()+",宽为"+getWidth()+"的矩形");
    }

}
 

//正方形

package org.jsoft.HomeWork;

public class Square extends Type {//重写父类的type1方法

    @Override
    public void typ1() {
        // TODO Auto-generated method stub
        System.out.println("边长为"+getL()+"的正方形");
    }

 
}

 

//测试类

package org.jsoft.HomeWork;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
while(true){
System.out.println("输入0、1、2来查询相应的形状");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
Test t=new Test(); //创建一个本类 类型的对象
t.getShape(a); // 调用本类的getShape方法
    
}    }
    
    public void getShape(int i){
        if(i==0){//执行对应圆的语句
            Type p=new Circle(); //创建一个Type类型的 Circle对象
            p.setR(6);//给半径赋值
            p.typ1();//调用Circle中的Type1方法
        }
        if(i==1){//执行对应矩形的语句
            Type p=new Rectangle();//创建一个Type类型的Rectangle对象
            p.setHeigh(3);//给长赋值
            p.setWidth(2);//给宽赋值
            p.typ1();//调用Rectangle中的Type1方法
        }if(i==2){//执行对应正方形的语句
            Type p=new Square();//创建一个Type类型的Square对象
            p.setL(2);//给边长赋值
            p.typ1();//调用Square中的Type1方法
        }
    }

}
 

转载于:https://my.oschina.net/u/3715009/blog/1572337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值