Version 2.2 by chrisby on 2024/03/03 14:42

Hide last authors
chrisby 2.1 1 asd
2
chrisby 1.1 3 ```
chrisby 2.1 4 type Square struct {
5 length float
6 }
7
8 type Circle struct {
9 length float
10 }
11
12 func Area(g GeometricObject) float {
13 switch (g.type()):
14 case Circle:
15 return
16 case Square:
17 return ...
18 }
19
20 func Circumference(g GeometricObject) float {
21 ...
22 }
23 ```
24
25 asd
chrisby 2.2 26
27 ```
28 # Object-Oriented Style
29
30 class Square {
31 length float
32
33 constructor(length float) {
34 this.length = length
35 }
36
37 func Area() float {
38 return this.length * this.length # Formula for square area: side^2
39 }
40
41 func Circumference() float {
42 return 4 * this.length # Formula for square circumference: 4 * side
43 }
44 }
45
46 class Circle {
47 radius float
48
49 constructor(radius float) {
50 this.radius = radius
51 }
52
53 func Area() float {
54 return 3.14159 * this.radius * this.radius # Formula for circle area: πr^2
55 }
56
57 func Circumference() float {
58 return 2 * 3.14159 * this.radius # Formula for circle circumference: 2πr
59 }
60 }
61 ```