當前位置:編程學習大全網 - 編程語言 - JAVA 作業 實驗名稱:接口,繼承與多態

JAVA 作業 實驗名稱:接口,繼承與多態

2.

Shape:

package?com.test;

public?interface?Shape?{

public?double?area();

public?double?perimeter();

}

Circle:?

package?com.test;

public?class?Circle?implements?Shape?{

double?r?=?5;

double?pi?=?3.14;

@Override

public?double?area()?{

return?pi*r*r;

}

@Override

public?double?perimeter()?{

return?2*pi*r;

}

}

Rectangle:

package?com.test;

public?class?Rectangle?implements?Shape?{

double?a?=?3;

double?b?=?4;

@Override

public?double?area()?{

return?a*b;

}

@Override

public?double?perimeter()?{

return?2*(a+b);

}

}

Triangle:?

package?com.test;

public?class?Triangle?implements?Shape?{

double?a?=?4;

@Override

public?double?area()?{

return?a*a;

}

@Override

public?double?perimeter()?{

return?4*a;

}

}

3.

shape:

package?com.test.abstr;

public?abstract?class?Shape?{

public?double?area(){

return?0.0;

}

public?double?perimeter(){

return?0.0;

}

}

Circle:?

package?com.test.abstr;

public?class?Circle?extends?Shape?{

double?r?=?5;

double?pi?=?3.14;

public?double?area(){

return?pi*r*r;

}

public?double?perimeter(){

return?2*pi*r;

}

}

Rectangle:?

package?com.test.abstr;

public?class?Rectangle?extends?Shape?{

double?a?=?3;

double?b?=?4;

public?double?area()?{

return?a*b;

}

public?double?perimeter()?{

return?2*(a+b);

}

}

Triangle:

package?com.test.abstr;

public?class?Triangle?extends?Shape?{

double?a?=?4;

public?double?area()?{

return?a*a;

}

public?double?perimeter()?{

return?4*a;

}

}

Test:

package?com.test.abstr;

public?class?Test?{

/**

?*?@param?args

?*/

public?static?void?main(String[]?args)?{

Shape?s1?=?new?Circle();

System.out.println(s1.area());

System.out.println(s1.perimeter());

Shape?s2?=?new?Rectangle();

System.out.println(s2.area());

System.out.println(s2.perimeter());

Shape?s3?=?new?Triangle();

System.out.println(s3.area());

System.out.println(s3.perimeter());

}

}

結果:

78.5

31.400000000000002

12.0

14.0

16.0

16.0

4.

package?com.test.four;

public?class?Person?{

String?name;

public?void?pay(double?num){

System.out.println(name+"***花費"+num+"元");

}

}

package?com.test.four;

public?class?ShoppingCart?{

public?String?name;

public?double?price;

public?int?count;

}

package?com.test.four;

public?class?Checkstand?{

public?static?void?main(String[]?args)?{

double?count?=?0.0;

ShoppingCart?sc1?=?new?ShoppingCart();

sc1.name?=?"牙膏";

sc1.price?=?6.5;

sc1.count?=?1;

count?=?count?+?getCount(sc1);

ShoppingCart?sc2?=?new?ShoppingCart();

sc2.name?=?"香皂";

sc2.price?=?4.5;

sc2.count?=?1;

count?=?count?+?getCount(sc2);

ShoppingCart?sc3?=?new?ShoppingCart();

sc3.name?=?"洗衣粉";

sc3.price?=?16.5;

sc3.count?=?1;

count?=?count?+?getCount(sc3);

Person?person?=?new?Person();

person.name?=?"小花";

person.pay(count);

}

public?static?double?getCount(ShoppingCart?sc){

System.out.println(sc.name+"----"+sc.count+"件"+sc.price?*?sc.count+"元");

return?sc.price?*?sc.count;

}

}

結果:

牙膏 ----1件 ? 6.5元

香皂 ----1件 ? 4.5元

洗衣粉 ----1件 ? 16.5元

小花***花費27.5元

個人建議,如果是初學者還是自己多去思考,多去練習,如果以後想從事軟件開發方面的,更需要多練多看多想。

  • 上一篇:求fm06妖人 要帶國籍 所屬俱樂部
  • 下一篇:php建站程序有哪些
  • copyright 2024編程學習大全網