View Full Version : java - ereditarietà e classi astratte
G.TheHamleter
11-11-2014, 14:25
Ciao a tutti !
Non mi è chiara la relazione esistente tra classi astratte ed ereditarietà:
in teoria le classi astratte servono per esprimere concetti generali, per cui non vi possono essere istanze di tipi astratti; ma anche le superclassi nell'ereditarietà esprimono concetti generali però è possibile creare istanze di quei tipi.
Daniels118
11-11-2014, 15:39
Esempio semplice semplice:
abstract class FiguraGeometrica
class Rettangolo extends FiguraGeometrica
class Quadrato extends Rettangolo
Il rettangolo è una figura geometrica,
il quadrato è un particolare rettangolo (ed è anche una figura geometrica).
Il Quadrato si può istanziare perché è qualcosa di concreto, infatti sappiamo come implementarne i metodi (per esempio l'area è lato al quadrato).
Il Rettangolo si può istanziare perché è qualcosa di concreto, anche se esistono delle sottoclassi, infatti sappiamo come implementarne i metodi (per esempio l'area è base per altezza).
La FiguraGeometrica non si può istanziare perché non rappresenta nulla di concreto fino a quando non la implementiamo in una figura specifica (come potremmo calcolare l'area di una figura geometrica che non conosciamo?).
G.TheHamleter
11-11-2014, 15:58
Più chiaro di così non potevi essere ! Grazie :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.