Changes for page Code Example: Data Structure Style vs. Object Style
Last modified by chrisby on 2024/03/03 17:01
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,1 +1,59 @@ 1 -``` 1 +### Data Structure Style 2 + 3 + type Square struct { 4 + length float 5 + } 6 + 7 + type Circle struct { 8 + radius float 9 + } 10 + 11 + func Area(g GeometricObject) float { 12 + switch type(g): 13 + case Square: 14 + return g.length * g.length 15 + case Circle: 16 + return PI * g.radius * g.radius 17 + } 18 + 19 + func Circumference(g GeometricObject) float { 20 + switch type(g): 21 + case Square: 22 + return 4 * g.length 23 + case Circle: 24 + return 2 * PI * g.radius 25 + } 26 + 27 +#### Object-Oriented Style 28 + 29 + class Square { 30 + length float 31 + 32 + constructor(length float) { 33 + this.length = length 34 + } 35 + 36 + func Area() float { 37 + return this.length * this.length 38 + } 39 + 40 + func Circumference() float { 41 + return 4 * this.length 42 + } 43 + } 44 + 45 + class Circle { 46 + radius float 47 + 48 + constructor(radius float) { 49 + this.radius = radius 50 + } 51 + 52 + func Area() float { 53 + return PI * this.radius * this.radius 54 + } 55 + 56 + func Circumference() float { 57 + return 2 * PI * this.radius 58 + } 59 + }