Che materia stai cercando?

Informatica I - come costruire una sottoclasse in java

Appunti di Informatica I per il corso del professor Avanzini con analisi dei seguenti argomenti: come costruire una sottoclasse in java, i metodi di una sottoclasse: come sovrascrivere i metodi, la possibilità di sovrascrivere (override) un metodo della superclasse.

Esame di Informatica 1 docente Prof. F. Avanzini

Anteprima

ESTRATTO DOCUMENTO

METODI DI UNA SOTTOCLASSE: SOVRASCRIVERE METODI

Quando definiamo una sottoclasse, possono verificarsi tre diverse situazioni per quanto riguarda i suoi

metodi viene definito un metodo

nella sottoclasse che nella superclasse non esisteva

 viene ereditato

un metodo della superclasse dalla sottoclasse

 viene sovrascritto

un metodo della superclasse nella sottoclasse

 sovrascrivere

La possibilità di (override) un metodo della superclasse, è una delle caratteristiche più

potenti del OOP (Object Oriented Programming). Per fare ciò bisogna definire nella sottoclasse un metodo

tale metodo prevale su quello della superclasse

con la stessa firma di quello definito nella superclasse

quando viene invocato con un oggetto della sottoclasse.

: Vogliamo modificare la classe SavingsAccount in modo che ogni operazione di versamento abbia

ESEMPIO

un costo (fisso) FEE, che viene automaticamente addebitato sul conto.

I versamenti nei conti di tipo SavingsAccount si fanno però invocando il metodo deposit di BankAccount, sul

quale non abbiamo controllo. SavingsAccount in

Possiamo però sovrascrivere deposit, ridefinendolo in più aggiungiamo una costante di

classe FEE, che contenga l'importo del costo fisso da addebitare.

SavingsAccount, deposit

Quando viene invocato deposit con un oggetto di tipo viene invocato il metodo

definito BankAccount. BankAccount.

in SavingsAccount e non quello definito in Nulla cambia per oggetti di tipo

Campi di esemplare di una sottoclasse

Quando definiamo una sottoclasse, possono verificarsi due diverse situazioni per quanto riguarda i suoi

campi di esemplare:

nella sottoclasse viene definito un campo di esemplare che nella superclasse non esisteva

 un campo della superclasse viene ereditato dalla sottoclasse. (Ad esempio il campo balance di

 SavingsAccount, BankAccount)

ereditato da

non è possibile sovrascrivere

Invece un campo della superclasse nella sottoclasse.

Cosa succede se nella sottoclasse viene definito un campo omonimo di uno della superclasse?

È un’operazione lecita, ma molto sconsigliabile. Si creano due campi di esemplare omonimi ma distinti,

e in particolare il nuovo campo di esemplare mette in ombra il suo omonimo della superclasse.

Costruttori di una sottoclasse

Siccome i campi di esemplare privati della superclasse non sono accessibili dalla sottoclasse, per

inizializzare questi campi di esemplare da un costruttore della sottoclasse bisogna invocare un costruttore

super

della superclasse, usando la parola chiave seguita da parentesi tonde ed eventuali parametri espliciti

del costruttore.

L'invocazione del costruttore della superclasse deve essere il primo enunciato del costruttore della

sottoclasse

ESEMPIO:

public class SavingsAccount extends BankAccount

{ public SavingsAccount(double initialBalance, double rate)

{ super(initialBalance);

interestRate = rate;

}

...

}


PAGINE

2

PESO

225.17 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Esame: Informatica 1
Corso di laurea: Corso di laurea in ingegneria dell'informazione
SSD:
Università: Padova - Unipd
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Padova - Unipd o del prof Avanzini Federico.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Informatica 1

Informatica I - array bidimensionali e array paralleli
Appunto
Informatica I - la struttura dati Tabella hash con bucket
Appunto
Informatica I - Object Oriented Programming OOP e obiettivi e principi di design
Appunto
Informatica I - come realizzare una classe in java
Appunto