作者H45 (!H45)
看板java
标题Re: [问题]关於多形和超载 程式码问题
时间Tue May 23 10:00:01 2006
※ 引述《[email protected] (双栖动物)》之铭言:
※ 引述《cscfish (双栖动物)》之铭言:
> ※ 引述《cscfish (双栖动物)》之铭言:
> > 就是为啥我计算出的数字都会是0 是哪要改吗
> > 还有说要用多形和超载 那应该超载已经合多型条件了吧
> > 如果不合条件 那要怎麽改才可以呢
> > 因为getarea() 同时有计triangle circle rectangle的不同功能(多形)
[...]
> > =====================================================
> > public class calculate {
主函式并未展现多型的优点
> > public static void main(String args[]){
> > circle cir=new circle(3);
> > triangle tri=new triangle(3,3);
> > rectangle rec=new rectangle(3,3);
> > System.out.print("\n" +cir.getarea());
> > System.out.print("\n" +cir.getcircum());
> > System.out.print("\n" +tri.getarea());
> > System.out.print("\n" +tri.getcircum());
> > System.out.print("\n" +rec.getarea());
> > System.out.print("\n" +rec.getcircum());
> > }
> > }
: 接着我要加一功能就是随便选一个图形 在计算其面积
:
: 我改这样不行 不知哪位大大可以在帮指点一下
: class calculate {
: public static void main(String args[]){
: System.out.print("input integer of n");
: int n=Integer.parseInt(keyin.readLine());//读取输入并存取n变数
:
: //int circle=1,rectangle=2,triangle=3;
: int create(n)
: {
: switch(n)
: {
: case 1:
: System.out.print("\n" +cir.getarea(3));
^^^
未宣告的变数名称
: System.out.print("\n" +cir.getcircum(3));
: case 2:
: System.out.print("\n" +tri.getarea(3,3));
: System.out.print("\n" +tri.getcircum(3,3));
: case 3:
: System.out.print("\n" +rec.getarea(3,3));
: System.out.print("\n" +rec.getcircum(3,3));
: }
: }
: }
: }
多型应该是像这样:
Shape shape = new Triangle(...);
shape.getarea(...);
shape.getcircum(...);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.207.15