Каков наилучший способ создания объектов из нескольких классов и вставки значений?

1

У меня есть класс под названием 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. Как это сделать и передать значения?

  • 0
    Можете ли вы показать класс Phone для лучшего понимания вашей проблемы?
  • 0
    public Phone(Features features, Camera camera) { this.features = features; this.Camera = camera;} .
Показать ещё 10 комментариев
Теги:
oop

2 ответа

3
Лучший ответ

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

  • 0
    Верно .. Но тогда также есть камера и функция (и) пересмотрены
  • 0
    public String primary ... public String features .. все поля / свойства являются общедоступными в его коде ..
Показать ещё 4 комментария
1

Класс "Телефон" может содержать 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню