//代表图形类
class Shape{
//私有化属性
private double x;//代表宽
private double y;//代表长
//用过构造方法进行属性初始化(间接给私有属性赋值)
public Shape(double x,double y){
this.x=x;
this.y=y;
}
//提供getter and setter 方法
public double getX() {
return x;
}
public double getY() {
return y;
}
//求周长和面积的方法
public double getGirth(){//求周长
return 0.0;//图形类代表的是任意的图形不能用具体的计算公式来计算
}
public double getArea(){
return 0.0;//求面积
}}
//代表矩形类
class Rectangle extends Shape{
//子类有参构造 调用父类有参构造给父类的私有化属性进行赋值
public Rectangle(double x, double y) {
super(x, y);//调用父类的有参构造
}
//重写求周长和面积的方法
public double getGirth(){
return 2*(getX()+getY());
}
public double getArea(){
return (getX()*getY());
}
}
//代表正方形类
class Square extends Rectangle{
public Square(double x) {
super(x, x);
}
}
//代表圆形类、
class Circle extends Shape{
public Circle(double r) {
super(r, r);//长和宽都是半径的值
}
public double getGirth(){
return 2*3.14*getY();
}
public double getArea(){
return (3.14*getX()*getY());
}
}
public class tt1 {
public static void main(String[] args) {
//向上造型
Shape s1 = new Rectangle(2, 3);
System.out.println(s1.getGirth() + "," + s1.getArea());
}
}
构建图形类的周长与面积计算方式
最新推荐文章于 2024-01-18 15:39:47 发布