2017-05-06 63 views
0

我是一個Java新手,我的任務是創造與司機,乘客,座椅等上了一輛出租車項目...如何在java中的新類中創建特定類型的屬性?

我被困在了這一點: 創建一個類調用出租車代表出租車。因爲每個出租車都有一個司機,所以每個出租車對象都應該有一個司機屬性(Human類型)。此外,出租車可以有乘客也是人類物體代表。

我的現有代碼:

public class Main { 

public static void main(String[] args){ 

    Human human1 = new Human("Max", "Mustermann"); 

    // System.out.println(human1.getForename() + " " + human1.getName()); 
    System.out.println("This is " + human1 + "."); 

    Taxi taxi1 = new Taxi(); 

    Human driver1 = new 
} 

} 

public class Human { 

private String name; 
public String forename; 

public Human(String forename, String name){ 
    this.name = name; 
    this.forename = forename; 
} 

public String getName(){ 
    return name; 
} 

public String getForename(){ 
    return forename; 
} 

public String toString(){ 
    return this.forename + " " + this.name; 
} 
} 




public class Taxi { 


} 

如何在類中創建出租車司機和型人的乘客?

謝謝。

+0

我可以給你一個提示:如果你看看你的'Human'類,它有'String'類型的'name'屬性。嘗試從那裏繪製連接。我不願公然給你解決聽起來像作業的問題。 –

回答

0

嘗試類似:

public class Taxi { 
    private Human driver;//Taxi has a driver 
    pubic Taxi(Human driver) { 
     this.driver = driver; 
    } 
} 

//in main 
Taxi taxi = new Taxi(human1);//pass that driver in constructor 
+0

好的非常感謝你,真的很有幫助! 也許你可以幫我實施這項任務: 每輛出租車最多可以運輸四名乘客及其司機。人類分開進入出租車。出租車班有方法添加(人x)添加一個新的乘客。如果出租車已滿,該方法不會添加乘客。相反,以下消息應打印到控制檯上:「...」 –

0

我認爲,你應該避免在你的類混合HumanTaxi概念。
Human確實太寬泛了。對於生物學或哲學模型領域而言,這並不適用於計程車模型領域。
你有一些驅動程序?創建一個Driver類。
你有一些乘客?創建一個人員或乘客類。

分離概念允許按照域來解決問題。

然後提供出租車的方法來滿足您的要求:將

  • 具有駕駛員
  • /刪除乘客

例如:

public class Taxi { 
    private Driver driver; 
    private List<Passenger> passengers = new ArrayList<>(); 

    pubic Taxi(Driver driver) { 
     this.driver = driver; 
    }  
    public addPassenger(Passenger passenger){ 
     this.passengers.add(passenger); 
    } 

    public removePassenger(Passenger passenger){ 
     this.passengers.remove(passenger); 
    } 
} 

這裏的出租車實例只能由Driver實例「驅動」,它可能「接受」 「只有Passenger個實例。
如果您只有Human課程,您會被卡住,因爲任何人都可能駕駛出租車。

如果駕駛員也可能是乘客,您可以用Person類替換乘客類。

相關問題