- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDrawing..java
More file actions
Latest commit
38 lines (27 loc) · 699 Bytes
/
Copy pathDrawing..java
File metadata and controls
38 lines (27 loc) · 699 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
packagedrawing.version2;
importjava.util.ArrayList;
importshapes.Circle;
importshapes.Rectangle;
importshapes.Square;
publicclassDrawing {
privateArrayList<Object> shapes = newArrayList<Object>();
publicdoublecalculateTotalArea(){
doubletotalArea = 0;
for (Objectshape : shapes){
if (shapeinstanceofCircle){
Circlec = (Circle) shape;
totalArea += c.area();
} elseif (shapeinstanceofRectangle) {
Rectangler = (Rectangle) shape;
totalArea += r.area();
} elseif (shapeinstanceofSquare) {
Squares = (Square) shape;
totalArea += s.area();
}
}
returntotalArea;
}
publicvoidaddShape(Objectobj) {
shapes.add(obj);
}
}