注册 登录
编程论坛 JAVA论坛

Java定义一个非公有的抽象类

lover1121 发布于 2022-11-28 19:09, 2244 次点击
定义一个非公有的抽象类:形状类(名字自选),成员变量为类别(指形状的类别),成员方法包括抽象方法:求周长、求面积和非抽象方法:输出形状的类别(其它方法可自行添加)。再定义一个非公有类:矩形类,是形状类的子类,成员变量为长、宽,成员方法包括:一个显示长、宽及周长、面积的方法(其它方法可自行添加)。再定义主类(类名要求:“Kao_”加上组号加上题号),编写一个主函数,输入形状类别:矩形,再输入长、宽,输出所要信息。
1 回复
#2
deagoal2022-12-02 12:55
我也不太会, 大概是这样吧.
abstract class shapeClass {
    String shapeType;
    abstract float 周长();
    abstract float 面积();
    void setShapeType(String type){ shapeType = type; };
    String getShapeType(){return shapeType;}
    void printShapeType(){System.out.println("shapType: " + shapeType);}
}

class rectangle extends shapeClass{
    float width;
    float height;
    String shapeType;
    public void shapeClass(){
        this.shapeType = "矩形";
    }
    public float getWidth() {
        return width;
    }
    public void setWidth(float width) {
        this.width = width;
    }
    public float getHeight() {
        return height;
    }
    public void setHeight(float height) {
        this.height = height;
    }
    public String getShapeType() {
        return shapeType;
    }
    public void setShapeType(String shapeType) {
        this.shapeType = shapeType;
    }
    float 周长() {
        return (width + height) * 2;
    };
    float 面积() {
        return (width * height);
    }
    void printShapeType(){System.out.println("shapType: " + shapeType);}
    public String toString() {
        return "\twidth: " + width + "\theight: " +height + "\tgirth: " + 周长() + "\tarea: " + 面积();
    }
    void print() {
        System.out.println(this);
    }
}

public class 文件名{
    public static void main(String[] args) {
        //如果需要运行时输入, 则使用System.in.read();函数有几个原型, 可以自己写一个read函数
        循环:{
            打印菜单: 1. 矩形, 2退出
            输入选择: menuId;  
            如果ID==1{
                实例化rectangle类,
                打印输入长,宽;
                获取输入, 判断是否合法, 如果合法{
                    输出形状, 长,宽,
                    调用 周长和面积函数,并打印结果
                }
            }else if ID==2 {
                退出;
            }
        }
    }
}
1