定义一个图形类及其子类

//定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
class Graphical {//父类
public double width;//成员变量
public double length;
public double area;
public double Perimeter;


public double areaGraphical() {//成员方法
return area;


}


public double PerimeterGraphical() {
return Perimeter;


}
}


class rectangle extends Graphical {//子类继承父类


public double areaGraphical() {
area = width * length;
return area;
}


public double PerimeterGraphical() {
Perimeter = (width + length) * 2;
return Perimeter;


}
}


class Triangle extends Graphical {//子类继承父类
public double high;
public double bottom;
public double side;


public double areaGraphical() {
area = (bottom * high) / 2;
return area;
}


public double PerimeterGraphical() {
Perimeter = high + bottom + side;
return Perimeter;


}


}


public class jicheng {//主类


public static void main(String[] args) {
rectangle p1 = new rectangle();// 声明对象和创建对象
p1.width = 3;
p1.length = 4;
p1.areaGraphical();
p1.PerimeterGraphical();
System.out.println("矩形面积:" + p1.areaGraphical() + "矩形周长:" + p1.PerimeterGraphical());//输出
Triangle p2 = new Triangle();// 声明对象和创建对象
p2.high = 3;
p2.side = 5;
p2.bottom = 4;
p2.areaGraphical();
p2.PerimeterGraphical();
System.out.println("三角形面积:" + p2.areaGraphical() + "三角形周长:" + p2.PerimeterGraphical());//输出
// TODO 自动生成的方法存根

}

}


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里是图形及其矩形和圆的实现: ```java public abstract class Shape { public abstract double getArea(); public abstract double getCircum(); public void print() { System.out.println("面积:" + getArea() + ",周长:" + getCircum()); } } public class Rectangle extends Shape { private double length; private double width; public Rectangle(double length, double width) { this.length = length; this.width = width; } @Override public double getArea() { return length * width; } @Override public double getCircum() { return 2 * (length + width); } } public class Circle extends Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } @Override public double getCircum() { return 2 * Math.PI * radius; } } ``` 在这里,我们定义了一个抽象Shape,其中包含两个抽象方法getArea()和getCircum(),分别用于计算图形的面积和周长。由于Shape是抽象,因此不能直接实例化。而是需要通过继承Shape子类来实现具体的图形。 在Rectangle和Circle中,我们分别继承了Shape,并重写了其中的getArea()和getCircum()方法。在Rectangle中,我们定义了length和width两个数据成员,分别表示矩形的长和宽。在getArea()方法中,我们直接返回长度和宽度的乘积,即矩形的面积;在getCircum()方法中,我们计算出矩形的周长,即2 * (length + width)。在Circle中,我们定义了radius一个数据成员,表示圆的半径。在getArea()方法中,我们使用Math.PI计算出圆的面积;在getCircum()方法中,我们使用2 * Math.PI计算出圆的周长。 由于Rectangle和Circle都继承了Shape,因此它们都具有print()方法,可以用于输出图形的面积和周长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值