Salve a tutti.
Qualcuno cortesemente saprebbe spiegarmi cosa fa' il metodo super() e perchè si usano SET nomevariabile e GET nomevariabile?
Vi ringrazio moltissimo
Ciao
Salve a tutti.
Qualcuno cortesemente saprebbe spiegarmi cosa fa' il metodo super() e perchè si usano SET nomevariabile e GET nomevariabile?
Vi ringrazio moltissimo
Ciao
super() non fa altro che chiamare il costruttore della superclasse (quando la classe in cui lo usi estende la classe precedente, la classe padre).
un esempio è nelle eccezioni:
è inutile implementare un costruttore che fa esattamente le stesse cose che fa quello della super classe. Si usa direttamente quello e si fa primaCodice PHP:public class YourException extends Exception
{
public YourException ()
{
super();
}
public YourException (String s)
{
super(s);
}
}
questo è un esempio un po' del cavolo però rende l'idea (spero...)
La parola chiave super fa riferimento alla superclasse (classe madre). Tramite essa è possibile accedere a tutti i metodi della classe madre (non solo il costruttore, nel qual caso viene usata solo quando è necessario passare dei parametri, ma anche i metodi, che possono essere sottoposti ad override).
Non capisco cosa intendi dire con "si usa GET e SET per le variabili"... se intendi cose tipo setSize() e getSize() beh... diciamo che si tratta solamente di PRASSI CONSOLITADA: è più facile ricordare il nome di un metodo che setta una variabile chiamandolo setNomeVariabile e, complementariamente, è più facile ricordare il nome di un metodo che recupera il valore di una variabile se lo si chiama getNomeVariabile(), ma nulla toglie che altri programmatori preferiscano dare ai metodi nomi diversi.
Java è un linguaggio strettamente OO (Object Oriented, orientato agli oggetti), quindi qualsiasi cosa viene fatta utilizzando OGGETTI... non esistono ISTRUZIONI tipiche dei linguaggi imperativi (rimangono, ovviamente i costrutti: if, for, switch, ?... ).
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Scusate se abuso della Vs. pazienza, ma qualcuno sa' spiegarmi cos'e' il poliformismo ?
Grazie mille
Il polimorfismo è una delle proprietà degli oggetti, che si può tradurre con l'espressione "un interfaccia, molti metodi".
Questo significa che oggetti diversi, derivanti da una stessa classe comune, possono avere GLI STESSI METODI come interfaccia per i dati, ma avere DIFFERENTI IMPLEMENTAZIONI degli stessi per manipolare i dati. (Questo si traduce, in termine tecnico, OVERRIDE).
Prendiamo ad esempio due oggetti: l'oggetto TRIANGOLO e l'oggetto QUADRATO. Entrambi derivano dall'oggetto FIGURA (quindi entrambi sono oggetti di tipo FIGURA) ed entrambi hanno il metodo getArea() che restituisce l'area della figura... cosa cambia fra di loro? Semplice: il modo in cui si calcola l'area! Per il triangolo applichi la formula (base * altezza / 2), mentre per il quadrato applichi la formula (lato * lato).
Questo è il polimorfismo: una interfaccia (entrambi hanno il metodo getArea() che restituisce il valore dell'area), molti metodi(uno usa una formula, l'altro ne usa un'altra).
Spero di essere stato chiaro.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza