Мне немного любопытно о некоторых из кода, который я видел в школе, и именно ли это обычная практика в поле или просто плохой дизайн.
Рассмотрим следующий интерфейс и два класса, которые его реализуют ...
public abstract interface Anchor
{
public abstract double x(double x);
public abstract double y(double y);
}
Уведомление в классе цикла Аргументы в X () и Y () на самом деле используются ...
public class Cycle implements Anchor
{
public Anchor anchor;
public double radius;
public double period;
public double phase = 4.0D;
public Cycle(Anchor anchor, double radius, double period) {
this.anchor = anchor;
this.radius = radius;
this.period = period;
}
public double angle(double day) {
return this.phase * 3.141592653589793D * (day / this.period) / 2.0D;
}
public double x(double x) {
return this.anchor.x(x) + Math.cos(angle(x)) * this.radius;
}
public double y(double y) {
return this.anchor.y(y) + Math.sin(angle(x)) * this.radius;
}
}
, но здесь в центре класса Аргументы в X () и Y () существуют исключительно для выполнения контакта с интерфейсом якоря и на самом деле не используются в методе ...
public class Center implements Anchor
{
public double x;
public double y;
public Center(double x, double y) {
this.x = x;
this.y = y;
}
public double x(double x) { return this.x; }
public double y(double y) { return this.y; }
}
Это то, что вы увидите общно в производстве Java Code? Это принятая практика или плохая работа вокруг?