Advertisement
ivorakitin

Abstract classes

Apr 5th, 2024
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. public class zad_02 {
  2.     public static void main(String[] args) {
  3.         Triangle t = new Triangle(33, 55.66, 55.66);
  4.         System.out.println("Triangle t perimeter: " + t.calcPerim() + " all sides equal: " + t.equalSides());
  5.  
  6.         Tetragon r = new Tetragon(77.77, 77.77, 77.77, 77.77);
  7.         System.out.println("Rectangle r perimeter: " + r.calcPerim() + " all sides equal: " + r.equalSides());
  8.     }
  9. }
  10.  
  11. abstract class Shape {
  12.     private double[] sides;
  13.     public Shape(double ... a) {
  14.         sides = a;
  15.         /*
  16.         sides = new double[a.length];
  17.         for (int i = 0; i < a.length; i++) {
  18.             sides[i] = a[i];
  19.         }*/
  20.     }
  21.     public double[] getSides() {
  22.         return sides;
  23.     }
  24.     public abstract double calcPerim();
  25.     public abstract boolean equalSides();
  26. }
  27.  
  28. class Triangle extends Shape {
  29.     public Triangle(double a, double b, double c) {
  30.         super(a, b, c);
  31.     }
  32.     public double calcPerim() {
  33.         double A = getSides()[0];
  34.         double B = getSides()[1];
  35.         double C = getSides()[2];
  36.         return A + B + C;
  37.     }
  38.  
  39.     public boolean equalSides() {
  40.         double temp = getSides()[0];
  41.         for (int i = 1; i < getSides().length; i++) {
  42.             if (temp != getSides()[i])
  43.                return false;
  44.         }
  45.         return true;
  46.     }
  47. }
  48.  
  49. class Tetragon extends Shape {
  50.     public Tetragon(double a, double b, double c, double d) {
  51.         super(a, b, c, d);
  52.     }
  53.     public double calcPerim() {
  54.  
  55.         double temp = 0;
  56.         for (int i = 0; i < getSides().length; i++)
  57.             temp = temp + getSides()[i];
  58.         return temp;
  59.         /*
  60.         double A = getSides()[0];
  61.         double B = getSides()[1];
  62.         double C = getSides()[2];
  63.         double D = getSides()[3];
  64.         return A + B + C + D;*/
  65.     }
  66.  
  67.     public boolean equalSides() {
  68.         double temp = getSides()[0];
  69.         for (int i = 1; i < getSides().length; i++) {
  70.             if (temp != getSides()[i])
  71.                 return false;
  72.         }
  73.         return true;
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement