Advertisement
Demetra4

figuri_colectii

Jan 5th, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.37 KB | None | 0 0
  1. package figuri;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. abstract class Figuri {
  6.     protected String culoare;
  7.     public Figuri(String culoare){
  8.         this.culoare = culoare;
  9.     }
  10.     public abstract double calculPerimetru();
  11. }
  12. class Cerc extends Figuri{
  13.     private double raza;
  14.     public Cerc(double raza, String culoare){
  15.         super(culoare);
  16.         this.raza = raza;
  17.     }
  18.     public double calculPerimetru(){
  19.         return 2 * 3.14 * this.raza;   
  20.     }
  21.     public void modificaRaza(double razaNoua){
  22.        
  23.          this.raza = razaNoua;
  24.          Observator.anuntaModificare();
  25.  
  26.     }
  27.     public String toString(){
  28.         String s = "Cerc" + " " + this.culoare;
  29.         s = s + " " + this.calculPerimetru();
  30.         return s;
  31.     }
  32. }
  33. class Patrat extends Figuri{
  34.     private double latura;
  35.     public Patrat(double latura, String culoare){
  36.         super(culoare);
  37.         this.latura = latura;
  38.     }
  39.     public  double calculPerimetru(){
  40.         return 2 * latura;
  41.     }
  42.     public void modificaLatura(double laturaNoua){
  43.          this.latura = laturaNoua;
  44.          Observator.anuntaModificare();
  45.     }
  46.    
  47.     public String toString(){
  48.         String s = "Patrat" + " " + this.culoare;
  49.         s = s + " " + this.calculPerimetru();
  50.         return s;
  51.     }
  52. }
  53. class Triunghi extends Figuri{
  54.     private double l1;
  55.     private double l2;
  56.     private double l3;
  57.     public Triunghi(double l1, double l2, double l3, String culoare){
  58.         super(culoare);
  59.         this.l1 = l1;
  60.         this.l2 = l2;
  61.         this.l3 = l3;
  62.     }
  63.     public  double calculPerimetru(){
  64.         return (l1+ l2 + l3);
  65.     }
  66.     public  void modificaLaturile(double l1Nou, double l2Nou, double l3Nou){
  67.         this.l1 = l1Nou;
  68.         this.l2 = l2Nou;
  69.         this.l3 = l3Nou;
  70.         Observator.anuntaModificare();
  71.     }
  72.     public String toString(){
  73.         String s = "Triunghi" + " " +  this.culoare;
  74.         s = s + " " +  this.calculPerimetru();
  75.         return s;
  76.     }
  77. }
  78. class Observator {
  79.     private static ArrayList<Figuri> figuri = new ArrayList<Figuri>();
  80.    
  81.     public static void adaugaFigura(Figuri f){
  82.         figuri.add(f);
  83.     }
  84.    
  85.     public   String toString(){
  86.         return figuri.toString();
  87.      
  88.     }
  89.     public static void anuntaModificare(){
  90.         System.out.println("S-a modificat");
  91.         System.out.println(figuri.toString());
  92.     }
  93. }
  94.  
  95. class Main{
  96.     public static void main(String[] args){
  97.          Patrat p = new Patrat(4, "rosu");
  98.          Cerc c = new Cerc(2, "verde");
  99.          Triunghi t = new Triunghi(3,4,5,"albastru");
  100.          Observator o = new Observator();
  101.          o.adaugaFigura(p);
  102.          o.adaugaFigura(c);
  103.          o.adaugaFigura(t);
  104.          p.modificaLatura(8);    
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement