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,49 @@ 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 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 + } 18 + 19 +* 20 + 21 +#### Object-Oriented Style 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 + }