У меня есть класс Circle
, который расширяет CanvasElement
. Я хочу иметь возможность создать круг, просто указав радиус И, начав с общего набора значений. На данный момент мой код выглядит неуклюже, устанавливая каждое значение из суперкласса по одному. Как я могу просто вызвать суперструктуры со всеми значениями (posX, posY и т. Д., Переданными в вызов конструктора?
class Circle(var radius : Double = 0.0) : CanvasElement(){
constructor(posX : Double,
posY : Double,
radius : Double,
fill : String,
stroke : String) : this(radius){
this.fill = fill
this.stroke = stroke
this.posX = posX
this.posY = posY
}
Класс: CanvasElement
open class CanvasElement(
var posX : Double = 0.0,
var posY: Double = 0.0,
var fill : String = "",
var stroke : String = ""){
}
Для лучшего понимания,Я добавил код Java для того, чего я хочу достичь:
Круг
public class Circle extends CanvasElement{
private int radius;
public Circle(int radius){
super(0,0);
this.radius = radius;
}
}
CanvasElement
public class CanvasElement{
private double posX;
private double posY;
public CanvasElement(double posX, double posY){
this.posX = posX;
this.posY = posY;
}
}