1. Getters/Setters
class Circle {
private double radius = 10;
public double getRadius() { return this.radius; }
public void setRadius(double r) { this.radius = r; }
public double getDiameter() { return 2 * this.radius; }
public void setDiameter(double d) { this.radius = d/2; }
}
public class JavaExample {
public static void main(String []args) {
Circle c = new Circle();
System.out.println(String.format("radius: %f; diameter: %f", c.getRadius(), c.getDiameter()));
c.setDiameter(40);
System.out.println(String.format("radius: %f; diameter: %f", c.getRadius(), c.getDiameter()));
c.setRadius(40);
System.out.println(String.format("radius: %f; diameter: %f", c.getRadius(), c.getDiameter()));
}
}
// Output:
// radius: 10.000000; diameter: 20.000000
// radius: 20.000000; diameter: 40.000000
// radius: 40.000000; diameter: 80.000000
class Circle {
var radius: Double = 10.0
var diameter: Double
get() = 2 * this.radius
set(value) { this.radius = value / 2 }
}
fun main(args: Array<String>) {
var c = Circle()
println("radius: ${c.radius}; diameter: ${c.diameter}")
c.diameter = 40.0
println("radius: ${c.radius}; diameter: ${c.diameter}")
c.radius = 40.0
println("radius: ${c.radius}; diameter: ${c.diameter}")
}
// Output:
// radius: 10.0; diameter: 20.0
// radius: 20.0; diameter: 40.0
// radius: 40.0; diameter: 80.0