2016-03-01 38 views
-1

內創建什麼樣的對象我有Java的超類命名爲「形狀」命名「三角」「圓」和2個子類。確定是一個Java方法

我在形狀計算所述對象(三角形或圓形)的區域以創建方法創建像這樣:

公共雙areaOfShape(雙東西)

I」米不知道該參數是什麼(所以我把東西...)。 因爲公式會根據您要創建的對象類型而有所不同;如果它是一個矩形,則需要長度和寬度。如果它是一個圓,你將需要半徑,所以我不知道如何繼續從那裏,因爲我不知道如果我需要一個「if語句」來確定我創建什麼樣的對象?

+0

只需在每個子類中放置calculateArea方法。或者,if語句也起作用。 – jbcd13

+2

這個任務是關於繼承我想,所以你必須使用它;) – Xvolks

+2

注意:你的類名的複數混淆:'形狀'是複數,'三角形'和'圓形'是單數。 –

回答

5

因爲Shape沒有關於如何計算面積的任何實現方法,所以需要使用抽象calculateArea()方法編寫Shape類。然後,您可以擴展形狀類三角形與圓類和重寫calculateArea()方法,如下圖所示:

abstract class Shape{ 
    public abstract double calculateArea(); 
} 

class Triangle extends Shape{ 
    @Override 
    public double calculateArea(){ 
     //Triangle implementation 
    } 
} 

class Circle extends Shape{ 
    @Override 
    public double calculateArea(){ 
     //Circle implementation 
    } 
} 

一旦做到這一點,你可以用任何的實現類的實例形狀參考,並調用calculateArea()如:

Shape s = new Triangle(); 
s.calculateArea(); 
相關問題