我正在學習一個面向對象的編程任務,我很好奇什麼是創建由其他對象組成的對象的最佳方法。在我的任務中,我必須創建一個帶有其他四個obects(引擎,主體,gasTank,傳輸)的汽車對象,我已經創建了這些類,但我不知道如何在我的汽車類中使用這些對象作爲參數構造一個構造函數。只要尋求指導,任何幫助將不勝感激!創建一個由其他類構成的類的最佳實踐
0
A
回答
0
假設您創建在同一個包中的所有類:
class Car {
private Engine myEngine;
public Car(Engine engine) {
myEngine = engine;
}
}
現在你可以調用Car對象是這樣的:
Car myCar = new Car(new Engine());
+0
謝謝你,這就是我一直在尋找的! – user3072504
+0
很高興能幫到你! –
0
你需要這樣的事情。我假設你的Car
類的領域:engine
,body
,gasTank
,transmission
。
public Car(Engine engine, Body body, GasTank gasTank, Transmission transmission){
this.engine = engine;
this.body = body;
this.gasTank = gasTank;
this.transmission = transmission;
}
0
汽車的構造看起來是這樣的:
public Car(Engine engine, Body body, Gastank gastank, Transmission transmission) {
this.engine = engine;
this.body = body;
this.gastank = gastank;
this.transmission = transmission;
}
0
你可能會認爲現實世界,以幫助您找到答案。一輛車有一個引擎,車身,gasTank和變速箱。
所以,你可能會考慮:
public class Car {
Engine engine;
Body body;
GasTank gasTank;
Transmission transmission;
public Car() {
// TODO Auto-generated constructor stub
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
public Body getBody() {
return body;
}
public void setBody(Body body) {
this.body = body;
}
public GasTank getGasTank() {
return gasTank;
}
public void setGasTank(GasTank gasTank) {
this.gasTank = gasTank;
}
public Transmission getTransmission() {
return transmission;
}
public void setTransmission(Transmission transmission) {
this.transmission = transmission;
}
}
0
記住,像任何其他方法,對一個類的構造函數可以給出參數。例如:
public class Car {
private engine;
public Car(Engine eng){
engine = eng;
}
}
代碼爲您Body
,GasTank
和Transmission
類是相似的。然後,您可以通過傳遞在每個單獨部件的創建一個新的Car
:
Car car = new Car(engine, body, tank, transmission)
(假設engine
等已被適當地定義)。
你也可以有一個默認的構造函數,在沒有參數傳入,新Car
實例使用默認的部分:
public Car(){
engine = new Engine()
body = new Body()
tank = new GasTank()
transmission = new Transmission()
}
相關問題
- 1. 類最佳實踐
- 2. 訪問其他類的屬性和方法的最佳實踐
- 3. Scala的類型類的最佳實踐
- 4. 構建Server最佳實踐
- 5. 構建我的類型的最佳實踐
- 6. JavaScript類最佳實踐?
- 7. ASP.NET類庫最佳實踐
- 8. 構建個人php cms-最佳實踐
- 9. 減速機構成的最佳實踐
- 10. 最佳實踐:軟件包開發 - 包括其他類
- 11. rails - 創建類似路線的最佳實踐?
- 12. 與UserControl合作創建類的最佳實踐
- 13. 使用DOMDocument類創建xml消息的最佳實踐
- 14. 構建SSO系統的最佳實踐
- 15. 創建實例化其他成員類的主類的對象
- 16. 密碼鹽:其他最佳實踐
- 17. 最佳實踐:在多個類
- 18. jQueryUI創建封裝的最佳實踐
- 19. 創建mysql表的最佳實踐
- 20. 創建Web服務的最佳實踐
- 21. 創建許多UIColors的最佳實踐?
- 22. 創建WCF RIA DomainService的最佳實踐
- 23. 配置類 - Guice的最佳實踐
- 24. 維護網站類的最佳實踐
- 25. codeigniter - 許多類的最佳實踐庫
- 26. 覆蓋靜態類的最佳實踐
- 27. 類和數據庫的最佳實踐
- 28. UIKit類繼承的最佳實踐
- 29. @Temporal類型的JPA最佳實踐
- 30. 內部/匿名類的最佳實踐
通過他們在作爲參數?使用構建器模式?使用簡單的setter?我不確定你在問什麼。 –
聽起來像規範[訪問者模式](http://en.wikipedia.org/wiki/Visitor_pattern)。 –
附上你的汽車類的代碼,然後我們可以指出你在正確的方向。 – Tyler