Состав методов разных классов - PullRequest
0 голосов
/ 10 апреля 2019

У меня проблема с применением метода из другого класса к классу, который я пишу.Я пытаюсь создать класс, создающий коробку в трехмерной сфере.Я уже настроил конструктор для точек в сфере, который получает три параметра и создает точку.Вот конструктор:

 public Point3D(double x, double y, double z)
{
 _x = x;
 _y = y;
 _z = z;
}

public double getX()
{
return _x;
}

, и это метод моего текущего класса, который я пытаюсь использовать

public Point3D getBase() {
 return _base;
}

_base - это объект Point3D.

 public Point3D getUpRightBackPoint() 
 {
     return new Point3D(getX(getBase(this)),getY(getBase(this)),getZ(getBase(this)));
 }

Теперь getBase - это открытый метод, возвращающий Point3D объект, а getX - это метод класса Point3D, который я написал отдельно и который возвращает double.Я не понимаю, что мне здесь не хватает?Ошибка говорит «метод getBase в классе Box3D не может быть применен к данным типам» .Хотя это метод, который я применяю к Box3D объекту.

1 Ответ

1 голос
/ 10 апреля 2019

Хорошо, метод getBase(), который вы определили, не принимает аргументов, но когда вы вызываете его, вы даете ему "this" в качестве аргумента; если вы хотите использовать this с методом, используйте его не как аргумент, а как объект, владеющий методом:

this.getBase()

что не нужно, просто getBase тоже хорошо. Если вы хотите вызвать другой метод getBase другого объекта, создать экземпляр соответствующего объекта, а затем использовать его для вызова метода:

object bla = new Object();
bla.getBase(this);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...