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 3.2
edited by chrisby
on 2024/03/03 14:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -8,23 +8,25 @@
8 8   radius float
9 9   }
10 10  
11 - func Circumference(g Object) float {
11 + func Area(g GeometricObject) float {
12 12   switch type(g):
13 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:
14 14   return 4 * g.length
15 15   case Circle:
16 16   return 2 * PI * g.radius
17 17   }
18 18  
19 -*
20 -
21 21  #### Object-Oriented Style
22 22  
23 - interface GeometricObject {
24 - Circumference() float
25 - }
26 -
27 - class Square implements GeometricObject {
29 + 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  
36 + func Area() float {
37 + return this.length * this.length
38 + }
39 +
34 34   func Circumference() float {
35 35   return 4 * this.length
36 36   }
37 37   }
38 38  
39 - class Circle implements GeometricObject {
45 + 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  
52 + func Area() float {
53 + return PI * this.radius * this.radius
54 + }
55 +
46 46   func Circumference() float {
47 47   return 2 * PI * this.radius
48 48   }