- public class Ch71 //主類別 Ch71
- {
- public static void main(String[] args) 主方法
- {
- Square sq=new Square("方形1號","綠色",5); //用Square 建構子產生Square 物件sq
- sq.showName();
- sq.showColor();
- sq.calArea();
- Tri tr=new Tri("三角形1號","粉紅色",7,5);
- tr.showName();
- tr.showColor();
- tr.calArea();
- }
- }
- abstract class Shape //抽象類別 Shape
- {
- String name, color; //Shape 的屬性
- Shape(String name, String color) //Shape的建構子
- {
- this.name=name; //本函數的name賦值給本類的name
- this.color=color;
- }
- void showName()
- {
- System.out.println("物件名稱: "+name);
- }
- void showColor()
- {
- System.out.println("顏色為: "+color);
- }
- abstract void calArea(); //抽象方法 calArea()
- }
- class Square extends Shape //Square 類別繼承自Share 類別
- {
- int x; // Square 類別 增加一個屬性(元素)
- Square(String name, String color, int x) //Square 類別的建構子
- {
- super(name,color); //name,color 屬性直接繼承自父類別
- this.x=x; //本函數的參數 x 賦值給 Square.x
- }
- void calArea() //calArea方法
- {
- System.out.println("面積為: "+x*x+"平方公分");
- }
- }
- class Tri extends Shape
- {
- double x, y;
- Tri(String name, String color, double x, double y)
- {
- super(name,color);
- this.x=x;
- this.y=y;
- }
- void calArea()
- {
- System.out.println("面積為: "+(x*y/2)+"平方公分");
- }
- }
複製代碼 |