У меня есть класс под названием Features, который выглядит так,
public class Features {
public String opSys;
public String chipset;
public String cpu;
public String gpu;
public Features(String opSys,String chipset,String cpu,String gpu,) {
this.opSys = opSys;
this.chipset = chipset;
this.cpu = cpu;
this.gpu = gpu;
}
}
И у меня есть другая камера, подобная этой,
public class Camera {
public String primary;
public String features;
public String video;
public String secondary;
public Camera(String primary, String features, String video, String secondary){
this.primary = primary;
this.features = features;
this.video = video;
this.secondary = secondary;
}
}
И я пытаюсь создать телефон, используя эти два класса в классе под названием Phone. Как это сделать и передать значения?
ehm... "тот же" способ, что и Camera
and Features
... :)
public class Phone {
private Camera camera;
private Features features;
public Phone(Camera camera, Features features){
this.camera = camera;
this.features = features;
}
public void setCamera(Camera newCamera){
this.camera = newCamera;
}
public void setFeatures(Features newFeatures){
this.features = newFeatures;
}
public Camera getCamera(){
return camera;
}
public Features getFeatures(){
return features;
}
}
затем... new Phone(new Camera(....), new Features(...)
...
и ваша домашняя работа закончена..: P
Класс "Телефон" может содержать Features
и Camera
, тогда вы можете использовать сеттеры или конструктор для установки значений для этих полей:
class Phone{
private Camera camera;
private Features features;
//use constructor to set values
public Phone(Camera camera, Features features){
this.camera=camera;
this.features= features
}
public Phone(String opSys, String chipset, String cpu, String gpu, String primary, String features, String video, String secondary){
camera=new Camera(opSys, chipset, cpu, gpu);
features= new Features(primary,features, video, secondary);
}
//or use setters to set value
public setCamera(Camera camera){
// set values
this.camera=camera;
}
public setFeatures(Features features){
//set values
this.features=features;
}
}
Существует также опечатка в источнике, удалить лишнее ,
от параметров застройщика в Features
Phone
для лучшего понимания вашей проблемы?public Phone(Features features, Camera camera) { this.features = features; this.Camera = camera;}
.