day09--抽象类的练习

This commit is contained in:
xx
2026-10-08 10:22:24 +08:00
parent 8a4e042a33
commit 4a854dea2d
6 changed files with 113 additions and 0 deletions
@@ -0,0 +1,12 @@
package com.inmind.abstract_test07;
/*
简单练习:定义一个图形类,求周长和面积,但是有不知道如何实现,只能由具体的图形子类(长方形,圆形)实现
*/
public class Demo11 {
public static void main(String[] args) {
//创建一个长方形,求面积和周长
Rectangle rectangle = new Rectangle(4, 3);
System.out.println("长方形面积为:"+rectangle.getArea());
System.out.println("长方形周长为:"+rectangle.getZC());
}
}
@@ -0,0 +1,20 @@
package com.inmind.abstract_test07;
//长方形类
public class Rectangle extends Shape{
//在创建长方形对象,必须传入2个属性:长和宽
public Rectangle(int chang ,int kuan){
super(chang,kuan,0);
}
@Override
public int getArea() {
return getChang()*getKuan();
}
@Override
public int getZC() {
return 2*(getChang()+getKuan());
}
}
@@ -0,0 +1,46 @@
package com.inmind.abstract_test07;
//图形类:定义一些功能和属性
public abstract class Shape {
//至少需要长,宽,半径
private int chang;
private int kuan;
private int r;
//定义构造方法
public Shape() {
}
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 int getArea();
public abstract int getZC();
}