Skip to content

Instantly share code, notes, and snippets.

@thinkphp
Created April 9, 2025 16:47
Show Gist options
  • Save thinkphp/423772cacaa1d0f5909d2b2cbde1eea7 to your computer and use it in GitHub Desktop.
Save thinkphp/423772cacaa1d0f5909d2b2cbde1eea7 to your computer and use it in GitHub Desktop.
Abstract Forma Geometrica.java
/*
Clasa abstracta vs interfata
- Interfata contine doar declaratii fara metode ( fara implementare) si constante
- o clasa poate implementa mai multe interfaete (suport pentru mostenire multipla)
- toate metodele sunt implicit publice si abstracte
- este definita folosind cuvantul "interface"
- interfetele definesc un "contract" pe care clasele implementate trebuie sa-l respecte
clasa abstracta
- poate contine atat metode abstracte (fara implementare) cat si metode cu implementare concreta
- o clasa poate mosteni doar o singura clasa abstracta
- public, private, protected
*/
public abstract class FormaGeometrica {
protected String culoare;
public FormaGeometrica(String culoare) {
this.culoare = culoare;
}
public abstract double calculeazaArea();
public abstract double calculeazaPerimetru();
public void afiseazaDetalii() {
System.out.println("Aceasta forma are culoarea: " + culoare);
System.out.println("Aria: " + calculeazaArea());
System.out.println("Perimetru: " + calculeazaPerimetru());
}
public String getCuloare() {
return culoare;
}
public void setCuloare(String culoare) {
this.culoare = culoare;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment