Java oop8:让每个类实现接口,计算面积和体积,Math.PI,@Override

//在几何图形中,分为平面图和立体图,平面图可以计算面积 ,立体图可以计算体积
//声明父类几何图形抽象类,
//问题:现有图形正方形,长方体和球体
//声明接口平面图和立体图,让下面每个类实现接口,
//正方形计算面积,长方体计算体积,
package a;
public class Student {
public static void main(String[] args) {
jihetuxing j=new zhengfangxing(10,5,3,3,1);
((zhengfangxing)j).jisuanmianji();
jihetuxing c=new changfangti(10,5,3,3,1);
((changfangti)c).jisuantiji();
jihetuxing a=new yuan(10,5,3,3,1);
((yuan)a).jisuantiji();
jihetuxing b=new yuan(10,5,3,3,1);
((yuan)b).jisuanmianji();
}
}
//计算面积的接口
interface mianji{//平面图
void jisuanmianji();
}
//计算体积的接口
interface tiji{//立体图
void jisuantiji();
}
abstract class jihetuxing{
public int chang;
public int kuan;
public int gao;
public int lengChang;
public int banjing;
public jihetuxing(int chang, int kuan, int gao,int lengChang, int banjing) {
super();
this.chang = chang;//10
this.kuan = kuan;//5
this.gao = gao;//3
this.lengChang = lengChang;//3
this.banjing = banjing;//1
}
}
//现在正方形继承了集合图形类,并且实现了计算面积的接口
class zhengfangxing extends jihetuxing implements mianji{
//调用父类的构造方 法
public zhengfangxing(int chang, int kuan, int gao,int lengChang, int banjing) {
super(chang, kuan, gao,lengChang, banjing);
// TODO Auto-generated constructor stub
}
//实现计算面积的接口
@Override
public void jisuanmianji() {
// TODO Auto-generated method stub
System.out.println("正方体的面积"+(this.lengChang*this.lengChang*6));
}
}
//计算长方体的类
class changfangti extends jihetuxing implements tiji{
public changfangti(int chang, int kuan, int gao,int lengChang, int banjing) {
super(chang, kuan, gao,lengChang, banjing);
// TODO Auto-generated constructor stub
}
//计算体积
@Override
public void jisuantiji() {
// TODO Auto-generated method stub
System.out.println("长方体的体积是"+(this.chang*this.kuan*this.gao));
}
}
class yuan extends jihetuxing implements mianji,tiji{
public yuan(int chang, int kuan, int gao, int lengChang,int banjing) {
super(chang, kuan, gao, lengChang,banjing);
// TODO Auto-generated constructor stub
}
//计算体积
@Override
public void jisuantiji() {
// TODO Auto-generated method stub
System.out.println("球体的体积是"+(4/3*Math.PI*this.banjing*this.banjing*this.banjing));
}//Math.PI=3.1415926......
//计算面积
@Override
public void jisuanmianji() {
// TODO Auto-generated method stub
System.out.println("球体的面积"+4*Math.PI*this.banjing*this.banjing);
}
}
