day09--抽象类的练习

This commit is contained in:
2026-01-06 11:38:47 +08:00
parent 5a5bc8e343
commit a9f0ab73d0
4 changed files with 94 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
package com.inmind.abstract06.test;
public class Circle extends Shape {
//定义一个有参构造,必须要求传入半径,交给父类来管理
public Circle(int r){
super(0,0,r);
}
@Override
public double getArea() {
return Math.PI*getR()*getR();
}
@Override
public double getZC() {
return 2*Math.PI*getR();
}
}

View File

@@ -14,6 +14,15 @@ package com.inmind.abstract06.test;
*/
public class Demo09 {
public static void main(String[] args) {
//创建一个长方形对象
Rectangle rectangle = new Rectangle(4,2);
System.out.println("长方形的面积:"+rectangle.getArea());
System.out.println("长方形的周长:"+rectangle.getZC());
//创建一个圆形对象
Circle circle = new Circle(2);
System.out.println("圆形的面积:"+circle.getArea());
System.out.println("圆形的周长:"+circle.getZC());
//如何快速定义出一个正方型的类,还不用自己实现周长和面积的方法
}
}

View File

@@ -0,0 +1,19 @@
package com.inmind.abstract06.test;
public class Rectangle extends Shape{
//定义一个有参构造,必须要求传入长宽,交给父类来管理
public Rectangle(int chang,int kuan){
super(chang,kuan,0);
}
@Override
public double getArea() {
return getChang()*getKuan();
}
@Override
public double getZC() {
return (getChang()+getKuan())*2;
}
}

View File

@@ -0,0 +1,46 @@
package com.inmind.abstract06.test;
public abstract class Shape {
//定义共性的属性:涵盖大部分形状的属性
private int chang;//矩形的长
private int kuan;//矩形的宽
private int r;//圆的半径
//满参构造:创建对象,对属性进行赋值
public Shape(int chang, int kuan, int r) {
this.chang = chang;
this.kuan = kuan;
this.r = r;
}
//提供get/set方法对私有的属性进行操作
public int getChang() {
return chang;
}
public void setChang(int chang) {
this.chang = chang;
}
public int getKuan() {
return kuan;
}
public void setKuan(int kuan) {
this.kuan = kuan;
}
public int getR() {
return r;
}
public void setR(int r) {
this.r = r;
}
//计算面积的方法
public abstract double getArea();
//计算周长的方法
public abstract double getZC();
}