Ciao ragazzi...scusatemi ma in questi giorni ho postato un po di problemi che ho avuto ma domani ho l'esame e mi stanno venendo mille dubbi.
Adesso stavo guardando un esercizio con una classe astratta (e a sto punto volevo chiedere qualcosa sull 'interfaccia).
classe ASTRATTA:
Una classe astratta è una classe a tutti gli effetti però il costruttore non puo' essere chiamato direttamente.
Se una classe ha un metodo astratto allora sicuramente anche la classe è astratta!!. Fin qua tutto ok.
Poi ho notato (provando) che una classe astratta puo' non avere metodi astratti.
Può avere dei metodi a loro volta astratti ma anche normali...DUBBI:
1 - i metodi astratti devono essere dichiarati nella classe stessa ma implementati per forza nelle sottoclassi?? o posso già implementarli nella classe astratta??
es
public abstract class Pippo
//costruttori
//metodi
public abstract int Valore(); <----cosi sicuramente giusto
public abstract int Valore(){ <----posso farlo??
return .....;
}
2 - in una classe astratta posso mettere anche un metodo non abstract
INTERFACCIA
Si può scrivere il costruttore??...oppure non si mette mai??
in piu l'unica cosa che posso fare è scrivere dei metodi che però non possono essere ASSOLUTAMENTE implementati nella classe stessa perchè l'implementazione è rimandata alle sue sotto classi....l'importate che una classe che implementa un interfaccia ridefinbisca il metodo dell'interfaccia...tutto qui giusto??
Ho letto un po di cose su internet ma continuo ad avere questi dubbi...grazie in anticipo...ciao