



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Teoria relativa al paradigma Object Oriented più domande tipiche d'esame
Tipologia: Appunti
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




In offerta
Stereotipi di classi L’individuazione delle classi dipende sia dalla realtà che si vuole modellare, sia dalla necessità di individuare il giusto bilanciamento dei compiti da assegnare, al fine di rendere il sistema software altamente mantenibile e riutilizzabile. Una metodologia suggerisce di classificare le classi secondo i seguenti gruppi:
In Java tutte le classi ereditano da Object. Inoltre Object dispone di un metodo getClass() che permette di restituire per ogni oggetto una istanza della classe Class che descrive la classe di appartenenza dell’oggetto. Questo modello serve per realizzare il meccanismo di riflessione che permette a un oggetto di stabilire al run-time a quale classe esso stesso appartiene. <
per ciascuna applicazione della funzione. Le funzioni che esibiscono il polimorfismo parametrico sono anche dette funzioni generiche. Una funzione generica può lavorare su argomenti di molti tipi, generalmente esibendo lo stesso comportamento indipendentemente dal tipo dell’argomento. Un esempio di funzioni generiche è la funzione template del C++. Ad esempio, possiamo definire una funzione max generica:
template
sue superclassi. Si manifesta in almeno due modi: assegnando un’istanza di una sottoclasse ad una variabile del tipo della superclasse invocando un metodo di una superclasse su una istanza di sottoclasse. L’utilizzo più interessante si ha quando le invocazioni dei metodi su oggetti di classi diverse (ma gerarchicamente correlate) produce un comportamento differente, anche se la definizione della funzione è unica. Ciò dipende dal tipo di legame statico/dinamico fra identificatore di funzione e relativa realizzazione. Si parla di legame statico se i legami (binding) vengono definiti in fase di compilazione; si parla di legame dinamico se i legami vengono definiti in fase di esecuzione. POLIMORFISMO AD HOC Può operare su un numero finito di tipi, i morfismi sono generati manualmente, non c’è una base comune a tutti i morfismi.
operatore definito per oggetti di tipo T1 anche a oggetti di tipo T2. Esempio. La somma è definita per valori reali, ma la si può usare anche per insiemi di tipi più grandi. Altri esempi, in JAVA, sono l’autoboxing di un int in un Integer. La coercizione opera ad un livello semantico, cioè cambiando la rappresentazione del dato.
informazioni di contesto per decidere a quale metodo si sta facendo riferimento. La disambiaguazione necessaria per una corretta compilazione si basa sul tipo degli argomenti del metodo o sulla classe dell’oggetto a cui si richiede il servizio.