Java oop8:讓每個(gè)類(lèi)實(shí)現(xiàn)接口,計(jì)算面積和體積,Math.PI,@Override

//在幾何圖形中,分為平面圖和立體圖,平面圖可以計(jì)算面積 ,立體圖可以計(jì)算體積
//聲明父類(lèi)幾何圖形抽象類(lèi),
//問(wèn)題:現(xiàn)有圖形正方形,長(zhǎng)方體和球體
//聲明接口平面圖和立體圖,讓下面每個(gè)類(lèi)實(shí)現(xiàn)接口,
//正方形計(jì)算面積,長(zhǎng)方體計(jì)算體積,
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();
}
}
//計(jì)算面積的接口
interface mianji{//平面圖
void jisuanmianji();
}
//計(jì)算體積的接口
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
}
}
//現(xiàn)在正方形繼承了集合圖形類(lèi),并且實(shí)現(xiàn)了計(jì)算面積的接口
class zhengfangxing extends jihetuxing implements mianji{
//調(diào)用父類(lèi)的構(gòu)造方 法
public zhengfangxing(int chang, int kuan, int gao,int lengChang, int banjing) {
super(chang, kuan, gao,lengChang, banjing);
// TODO Auto-generated constructor stub
}
//實(shí)現(xiàn)計(jì)算面積的接口
@Override
public void jisuanmianji() {
// TODO Auto-generated method stub
System.out.println("正方體的面積"+(this.lengChang*this.lengChang*6));
}
}
//計(jì)算長(zhǎng)方體的類(lèi)
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
}
//計(jì)算體積
@Override
public void jisuantiji() {
// TODO Auto-generated method stub
System.out.println("長(zhǎng)方體的體積是"+(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
}
//計(jì)算體積
@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......
//計(jì)算面積
@Override
public void jisuanmianji() {
// TODO Auto-generated method stub
System.out.println("球體的面積"+4*Math.PI*this.banjing*this.banjing);
}
}
