Created
April 9, 2025 16:47
-
-
Save thinkphp/423772cacaa1d0f5909d2b2cbde1eea7 to your computer and use it in GitHub Desktop.
Abstract Forma Geometrica.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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