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,59 +1,61 @@ 1 - ### Data Structure Style1 +asd 2 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 - } 3 +``` 4 +type Square struct { 5 + length float 6 +} 26 26 27 -#### Object-Oriented Style 8 +type Circle struct { 9 + length float 10 +} 28 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 - } 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 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 +```