Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package figuri;
- import java.util.ArrayList;
- abstract class Figuri {
- protected String culoare;
- public Figuri(String culoare){
- this.culoare = culoare;
- }
- public abstract double calculPerimetru();
- }
- class Cerc extends Figuri{
- private double raza;
- public Cerc(double raza, String culoare){
- super(culoare);
- this.raza = raza;
- }
- public double calculPerimetru(){
- return 2 * 3.14 * this.raza;
- }
- public void modificaRaza(double razaNoua){
- this.raza = razaNoua;
- Observator.anuntaModificare();
- }
- public String toString(){
- String s = "Cerc" + " " + this.culoare;
- s = s + " " + this.calculPerimetru();
- return s;
- }
- }
- class Patrat extends Figuri{
- private double latura;
- public Patrat(double latura, String culoare){
- super(culoare);
- this.latura = latura;
- }
- public double calculPerimetru(){
- return 2 * latura;
- }
- public void modificaLatura(double laturaNoua){
- this.latura = laturaNoua;
- Observator.anuntaModificare();
- }
- public String toString(){
- String s = "Patrat" + " " + this.culoare;
- s = s + " " + this.calculPerimetru();
- return s;
- }
- }
- class Triunghi extends Figuri{
- private double l1;
- private double l2;
- private double l3;
- public Triunghi(double l1, double l2, double l3, String culoare){
- super(culoare);
- this.l1 = l1;
- this.l2 = l2;
- this.l3 = l3;
- }
- public double calculPerimetru(){
- return (l1+ l2 + l3);
- }
- public void modificaLaturile(double l1Nou, double l2Nou, double l3Nou){
- this.l1 = l1Nou;
- this.l2 = l2Nou;
- this.l3 = l3Nou;
- Observator.anuntaModificare();
- }
- public String toString(){
- String s = "Triunghi" + " " + this.culoare;
- s = s + " " + this.calculPerimetru();
- return s;
- }
- }
- class Observator {
- private static ArrayList<Figuri> figuri = new ArrayList<Figuri>();
- public static void adaugaFigura(Figuri f){
- figuri.add(f);
- }
- public String toString(){
- return figuri.toString();
- }
- public static void anuntaModificare(){
- System.out.println("S-a modificat");
- System.out.println(figuri.toString());
- }
- }
- class Main{
- public static void main(String[] args){
- Patrat p = new Patrat(4, "rosu");
- Cerc c = new Cerc(2, "verde");
- Triunghi t = new Triunghi(3,4,5,"albastru");
- Observator o = new Observator();
- o.adaugaFigura(p);
- o.adaugaFigura(c);
- o.adaugaFigura(t);
- p.modificaLatura(8);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement