File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package com .codenext .day8 ;
22
3- public class EquilateralTriangle {
3+ public class EquilateralTriangle extends IsoscelesTriangle {
44
5- private double a , b , c ;
6-
7- public IsoscelesTriangle (double equalSide , double c ) {
8- this .a = equalSide ;
9- this .b = equalSide ;
10- this .c = c ;
11- }
12-
13- public double area () {
14- double p = perimeter () / 2 ;
15- return Math .sqrt (p * (p - a ) * (p - b ) * (p - c ));
5+ public EquilateralTriangle (double side ) {
6+ super (side , side );
7+ setShapeType ("EquilateralTriangle" );
168 }
17-
18- public double perimeter () {
19- return a + b + c ;
20- }
21-
229}
Original file line number Diff line number Diff line change 11package com .codenext .day8 ;
22
3- public class IsoscelesTriangle {
4-
5- private double a , b , c ;
6-
3+ public class IsoscelesTriangle extends Triangle {
74 public IsoscelesTriangle (double equalSide , double c ) {
8- setSides (equalSide , c );
9- }
10-
11- public void setSides (double equalSide , double c ) {
12- this .a = equalSide ;
13- this .b = equalSide ;
14- this .c = c ;
15- }
16-
17- public void setSideAndAngle (double equalSide , double angle ) {
18- this .a = equalSide ;
19- this .b = equalSide ;
20- this .c = Math .sin (Math .toRadians (angle )) * equalSide ;
21- }
22-
23- public double area () {
24- double p = perimeter () / 2 ;
25- return Math .sqrt (p * (p - a ) * (p - b ) * (p - c ));
26- }
27-
28- public double perimeter () {
29- return a + b + c ;
5+ super (equalSide , equalSide , c );
6+ setShapeType ("IsoscelesTriangle" );
307 }
318}
Original file line number Diff line number Diff line change 11package com .codenext .day8 ;
22
3- public class Shape {
3+ public abstract class Shape {
44
55 private String shapeType ;
66
77 public Shape (String shapeType ) {
88 this .shapeType = shapeType ;
99 }
1010
11- public double area () {
12- return 0 ;
13- }
11+ public abstract double area ();
1412
15- public double perimeter () {
16- return 0 ;
17- }
13+ public abstract double perimeter ();
1814
1915 @ Override
2016 public String toString () {
Original file line number Diff line number Diff line change 1+ package com .codenext .day8 ;
2+
3+ import java .util .ArrayList ;
4+
5+ public class ShapeTest {
6+
7+ public static void main (String [] args ) {
8+ ArrayList <Shape > shapes = new ArrayList <>();
9+ shapes .add (new Triangle (100 ,200 , 150 ));
10+ shapes .add (new IsoscelesTriangle (100 ,150 ));
11+ shapes .add (new EquilateralTriangle (100 ));
12+ shapes .add (new Rectangle (100 ,200 ));
13+
14+ System .out .println (shapes );
15+ }
16+ }
You can’t perform that action at this time.
0 commit comments