Last modified by chrisby on 2024/03/03 17:01

From version 3.3
edited by chrisby
on 2024/03/03 14:57
Change comment: There is no comment for this version
To version 2.4
edited by chrisby
on 2024/03/03 14:45
Change comment: There is no comment for this version

Summary

Details

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