初学java,哪位高手帮忙啊!!!
本人初学java,求助一个程序,怎么样用多态求长方形、圆形的周长和面积呢???
------解决方案--------------------构建一个多边形的抽象类,里面有面积和周长两个字段和相应的get set方法
然后再构建诸如圆和长方形等的具象类继承之,相应的方法该override的override 如此这般。
------解决方案--------------------public class Test
{
//长方形周长
public static float getGirth(float a,float b)
{
return (a+b)*2;
}
//圆周长
public static double getGirth(float r){
return 2*3.1415926*r;
}
//长方形面积
public static float getArea(float a,float b){
return a*b;
}
//园面积
public static double getArea(float r){
return 3.1415926*r*r;
}
public static void main(String[] arg){
System.out.println( "aaaaaaaaaaa ");
System.out.println( "长方形周长 : "+Test.getGirth(2,3));
System.out.println( "圆周长 : "+Test.getGirth(2));
System.out.println( "长方形面积 : "+Test.getArea(2,3));
System.out.println( "园面积 : "+Test.getArea(2));
}
}
测试过的
------解决方案--------------------写一个类全搞定,厉害.学习了
------解决方案--------------------利用接口实现的:
包含set,get方法的接口:
public interface JieKou
{
public void setMianJi(float chang,float kuan) ;
public float getMianJi() ;
public void setZhouChang(float chang,float kuan) ;
public float getZhouChang() ;
}
实现接口类:
public class JiSuan implements JieKou
{
float chang,kuan ;
public void setMianJi(float chang,float kuan)
{
this.chang=chang ;
this.kuan=kuan ;
}
public void setZhouChang(float chang,float kuan)
{
this.chang=chang ;
this.kuan=kuan ;
}
public float getMianJi()
{
return chang*kuan ;
}
public float getZhouChang()
{
return (chang+kuan)*2 ;
}
public static void main(String[] args)
{
JiSuan js=new JiSuan() ;
js.setMianJi(3.0f,2.0f) ;
js.setZhouChang(3.0f,2.0f) ;
System.out.println( "长方形的面积为: "js.getMianJi()) ;
System.out.println( "长方形的周长为: "js.getZhouChang()) ;
}
}
------解决方案--------------------二楼的方法才是正道,其他的在一个类中写出方法的是不好的,比如我要再添加一个新的面积公式,岂不是又要回去修改吗,这是不可取的