用java创建由其他类组成的类时,最佳实践是什么
我在学校里做一个面向对象的编程作业,我想知道创建由其他对象组成的对象的最佳方法是什么。在我的作业中,我必须创建一个包含四个其他对象(发动机、车身、油箱、变速器)的car对象。我已经创建了这些类,但我不知道如何在我的car类中创建一个将这些对象用作参数的构造函数。只是寻求指导,任何帮助都将不胜感激 假设您在同一个包中创建了所有类:用java创建由其他类组成的类时,最佳实践是什么,java,class,oop,Java,Class,Oop,我在学校里做一个面向对象的编程作业,我想知道创建由其他对象组成的对象的最佳方法是什么。在我的作业中,我必须创建一个包含四个其他对象(发动机、车身、油箱、变速器)的car对象。我已经创建了这些类,但我不知道如何在我的car类中创建一个将这些对象用作参数的构造函数。只是寻求指导,任何帮助都将不胜感激 假设您在同一个包中创建了所有类: class Car { private Engine myEngine; public Car(Engine engine) { my
class Car {
private Engine myEngine;
public Car(Engine engine) {
myEngine = engine;
}
}
现在可以这样调用Car对象:
Car myCar = new Car(new Engine());
public Car(Engine engine, Body body, Gastank gastank, Transmission transmission) {
this.engine = engine;
this.body = body;
this.gastank = gastank;
this.transmission = transmission;
}
你需要这样的东西。我假设你的车是这样的 类具有以下字段:
引擎
,主体
,气体罐
,变速箱
public Car(Engine engine, Body body, GasTank gasTank, Transmission transmission){
this.engine = engine;
this.body = body;
this.gasTank = gasTank;
this.transmission = transmission;
}
汽车的构造可以如下所示:
Car myCar = new Car(new Engine());
public Car(Engine engine, Body body, Gastank gastank, Transmission transmission) {
this.engine = engine;
this.body = body;
this.gastank = gastank;
this.transmission = transmission;
}
你可能会想到现实世界来帮助你找到答案。汽车有发动机、车身、油箱和变速器 <>你可以考虑:
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;
}
}
请记住,与任何其他方法一样,类的构造函数可以给定参数。例如:
public class Car {
private engine;
public Car(Engine eng){
engine = eng;
}
}
您的Body
、GasTank
和Transmission
类的代码将类似。然后,您可以通过传入每个单独的组件来创建一辆新的汽车
:
Car car = new Car(engine, body, tank, transmission)
(假设已正确定义了发动机
等)
您还可以使用默认构造函数,其中不传入任何参数,并且新的Car
实例使用默认部分:
public Car(){
engine = new Engine()
body = new Body()
tank = new GasTank()
transmission = new Transmission()
}
作为参数传递它们?使用生成器模式?使用普通设置器?我不知道你在问什么。听起来像是经典。附上你的汽车类代码,然后我们可以为你指出正确的方向。