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.

Mai multe din Alte teme