asd
type Square struct {
length float
}
type Circle struct {
length float
}
func Area(g GeometricObject) float {
switch (g.type()):
case Circle:
return
case Square:
return ...
}
func Circumference(g GeometricObject) float {
...
}
length float
}
type Circle struct {
length float
}
func Area(g GeometricObject) float {
switch (g.type()):
case Circle:
return
case Square:
return ...
}
func Circumference(g GeometricObject) float {
...
}
asd
# Object-Oriented Style
class Square {
length float
constructor(length float) {
this.length = length
}
func Area() float {
return this.length * this.length # Formula for square area: side^2
}
func Circumference() float {
return 4 * this.length # Formula for square circumference: 4 * side
}
}
class Circle {
radius float
constructor(radius float) {
this.radius = radius
}
func Area() float {
return 3.14159 * this.radius * this.radius # Formula for circle area: πr^2
}
func Circumference() float {
return 2 * 3.14159 * this.radius # Formula for circle circumference: 2πr
}
}
class Square {
length float
constructor(length float) {
this.length = length
}
func Area() float {
return this.length * this.length # Formula for square area: side^2
}
func Circumference() float {
return 4 * this.length # Formula for square circumference: 4 * side
}
}
class Circle {
radius float
constructor(radius float) {
this.radius = radius
}
func Area() float {
return 3.14159 * this.radius * this.radius # Formula for circle area: πr^2
}
func Circumference() float {
return 2 * 3.14159 * this.radius # Formula for circle circumference: 2πr
}
}