Polymorphism in Java: BankAccount and CheckingAccount Classes

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quale termine descrive il concetto in cui l'invocazione di un metodo può chiamare metodi diversi a seconda del tipo reale dell'oggetto?

  • Overloading
  • Ereditarietà
  • Polimorfismo (correct)
  • Interfacce

In che fase avviene la scelta del metodo appropriato con il polimorfismo in Java?

  • Fase di interpretazione
  • Fase di esecuzione (correct)
  • Fase di compilazione
  • Fase di progettazione

Cosa avviene con l'overloading in Java?

  • Scelta del metodo in fase di esecuzione
  • Scelta del metodo in fase di compilazione (correct)
  • Late binding
  • Early binding

Quale metodo consente il riutilizzo del codice per trasferire fondi tra due conti bancari?

<p><code>transfer(BankAccount other, double amount)</code> (D)</p> Signup and view all the answers

Qual è il concetto che distingue il polimorfismo dall'overloading?

<p><code>Early binding</code> (B)</p> Signup and view all the answers

Cosa determina la fase di esecuzione nel polimorfismo?

<p><code>Il tipo degli oggetti</code> (C)</p> Signup and view all the answers

Cosa accade quando si passa un riferimento di tipo CheckingAccount a un metodo che si aspetta un riferimento di tipo BankAccount?

<p>Il compilatore copia il riferimento all'oggetto di tipo CheckingAccount nella variabile della superclasse BankAccount. (D)</p> Signup and view all the answers

Perché a tempo di compilazione non è possibile stabilire il tipo effettivo della variabile 'other' del metodo 'transfer'?

<p>Perché 'other' è di tipo BankAccount e può fare riferimento a sottoclassi non note a tempo di compilazione. (A)</p> Signup and view all the answers

Cosa accade nel caso in cui il metodo transfer invochi un metodo non esistente?

<p>Si genera un errore di esecuzione. (A)</p> Signup and view all the answers

Qual è l'unica informazione conosciuta a tempo di compilazione sulla variabile 'other' di tipo BankAccount?

<p>'other' è di tipo BankAccount. (C)</p> Signup and view all the answers

Cosa succede se si cerca di chiamare un metodo specifico a tempo di esecuzione su una variabile la cui classe effettiva è sconosciuta?

<p>Viene chiamato sempre il metodo della superclasse. (B)</p> Signup and view all the answers

Quale tipo di legame avviene a runtime quando si invoca un metodo su un oggetto?

<p>Legame tardivo (C)</p> Signup and view all the answers

Cosa determina il tipo di metodo che viene effettivamente chiamato quando viene invocato un metodo su un oggetto?

<p>Il tipo effettivo dell'oggetto (D)</p> Signup and view all the answers

Cosa succede quando si invoca il metodo 'deductFees' su un oggetto di tipo CheckingAccount?

<p>Le tasse vengono sottratte dal saldo (A)</p> Signup and view all the answers

Cosa rappresenta la variabile 'interestRate' definita nella classe SavingsAccount?

<p>Il tasso di interesse applicato al saldo (D)</p> Signup and view all the answers

Cosa rappresenta la variabile 'transactionCount' nella classe CheckingAccount?

<p>Il numero totale di transazioni effettuate fino a quel momento (D)</p> Signup and view all the answers

Cosa succede quando si chiama il metodo 'addInterest' su un oggetto di tipo SavingsAccount?

<p>Viene calcolato l'interesse e aggiunto al saldo (D)</p> Signup and view all the answers

Flashcards are hidden until you start studying

More Like This

Use Quizgecko on...
Browser
Browser