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