RosettaCodeData/Task/Polymorphism/Julia/polymorphism.julia

29 lines
519 B
Text
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
mutable struct Point
2014-01-17 05:32:22 +00:00
x::Float64
y::Float64
end
2018-06-22 20:57:24 +00:00
Base.show(io::IO, p::Point) = print(io, "Point($(p.x), $(p.y))")
2014-01-17 05:32:22 +00:00
2018-06-22 20:57:24 +00:00
getx(p::Point) = p.x
gety(p::Point) = p.y
2014-01-17 05:32:22 +00:00
setx(p::Point, x) = (p.x = x)
sety(p::Point, y) = (p.y = y)
2018-06-22 20:57:24 +00:00
mutable struct Circle
2014-01-17 05:32:22 +00:00
x::Float64
y::Float64
r::Float64
end
2018-06-22 20:57:24 +00:00
getx(c::Circle) = c.x
gety(c::Circle) = c.y
getr(c::Circle) = c.r
2014-01-17 05:32:22 +00:00
setx(c::Circle, x) = (c.x = x)
sety(c::Circle, y) = (c.y = y)
setr(c::Circle, r) = (c.r = r)
2018-06-22 20:57:24 +00:00
Base.show(io::IO, c::Circle) = print(io, "Circle($(c.x), $(c.y), $(c.r))")