Informatică Alte teme
Clase abstracte si metode virtuale in Java
Clasele abstracte și metodele virtuale în Java permit polimorfismul și definirea unor comportamente comune pentru subclase. O clasă abstractă este o clasă care nu poate fi instanțiată direct și poate conține metode abstracte (virtuale) fără implementare.
Caracteristici clase abstracte
- Declarație Se definește cu cuvântul cheie abstract, ex: abstract class Animal {}.
- Instanțiere Nu poți crea obiecte cu new Animal(), doar prin subclase.
- Metode abstracte Metode declarate fără corp, ex: abstract void sunet();, trebuie implementate în subclase.
- Metode concrete Pot conține și metode cu implementare completă.
Exemplu cod
- Clasa abstractă abstract class Forma { abstract double arie(); }
- Subclasă Cerc class Cerc extends Forma { double raza; double arie() { return Math.PI * raza * raza; } }
- Subclasă Patrat class Patrat extends Forma { double latura; double arie() { return latura * latura; } }
- Utilizare Forma f = new Cerc(); f.arie(); // apelează metoda din Cerc
Folosește clase abstracte când vrei să impui o structură comună, dar lasi detaliile subclaselor.