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,25 +1,55 @@ 1 -a sd1 +### Data Structure Style 2 2 3 -``` 4 -type Square struct { 5 - length float 6 -} 3 + type Square struct { 4 + length float 5 + } 6 + 7 + type Circle struct { 8 + length float 9 + } 10 + 11 + func Area(g GeometricObject) float { 12 + switch (g.type()): 13 + case Circle: 14 + return 15 + case Square: 16 + return ... 17 + } 18 + 19 + func Circumference(g GeometricObject) float { 20 + ... 21 + } 7 7 8 -type Circle struct { 9 - length float 10 -} 23 +#### Object-Oriented Style 11 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 25 + class Square { 26 + length float 27 + 28 + constructor(length float) { 29 + this.length = length 30 + } 31 + 32 + func Area() float { 33 + return this.length * this.length 34 + } 35 + 36 + func Circumference() float { 37 + return 4 * this.length 38 + } 39 + } 40 + 41 + class Circle { 42 + radius float 43 + 44 + constructor(radius float) { 45 + this.radius = radius 46 + } 47 + 48 + func Area() float { 49 + return PI * this.radius * this.radius 50 + } 51 + 52 + func Circumference() float { 53 + return 2 * PI * this.radius 54 + } 55 + }