C# Flashcards
Cosa è la classificazione?
Basandoci su alcune caratteristiche quali proprietà e funzioni possiamo assegnare un concetto ad un oggetto.
- Es: se un oggetto ha la funzione di chiamare e di leggere dei messaggi possiamo dire che è un telefono.
- La classificazione è il tipo di astrazione che noi facciamo per assegnare un oggetto a un tipo di concetto.
Cosa è una classe?
La classe è un modello per la creazione di istanze composto da metodi e attributi
Cosa L’ incapsulamento?
- E’ buona norma che i metodi e attributi vengano resi PRIVATI diventando non utilizzabili da parte di oggetti di altre classi
- Mentre quelli che riguardano INTERFACCIA possono essere PUBBLICI
- Concetto di auto, dove i pedali, volante è pubblico invece il resto l’accesso al motore è privato.
Cosa è L’ Ereditarietà?
una classe derivata grazie all’ ereditarietà può utilizzare i membri e gli attributi della superclasse da cui deriva.
Non supporta l’ereditarietà multipla
Cosa è la composizione?
- Gerarchia tipica di una composizione esempio auto ha una portiere un volante e un motore
- La gerarchia di composizione NON COMPORTA IN ALCUN MODO ALL’ EREDITARIETA’
Parlami della gestione della memoria di runtime
Ogni volta che un programma di c# va in esecuzione l’ ambiente di runtime prepara due aree distinte di memoria lo Steak e lo Heap che hanno scopi e criteri di gestione molto differenti!
Cosa è lo Steak nella gestione di memoria del runtime?
Viene usato per tenere traccia del flusso di esecuzione del programma.
- Ogni volta che viene invocato un metodo, il runtime crea un contenitore che viene chaiamato frame che serve a contenere le definizioni e i valori delle variabili locali del metodo corrente oltre al valore di tutti i parametri.
- Funziona come una pila di piatti.
- E’ una memoria di tipo LFO last in, first out.
Cos’ è lo Heap nella gestione della memoria del runtime?
Lo Heap è un deposito di memoria che il runtime deposita per un certo tempo durante l’esecuzione del programma.
- Vengono salvati valori di tipo reference type
Che differenza c’è tra Value Type e Reference Type?
- I Value Type memorizza il proprio valore asseme alla variabile (x=10), e sono INT, DOUBLE, FLOAT, ecc..
- I Reference Type : il valore associato a una variabile di tipo stringa ad esempio,non sarà il valore vero e proprio ma sarà un riferimento a dove si trova il valore e viene SEMPRE memorizzato nello Heap. Gli array sono Reference type anche se numerici.
Parlami dei modificatori di Accesso
(Private, Pubblic, Internal, Static)!
PRIVATE
- è utilizzabile solo all’interno della classe in cui è stata definità!
- Qualunque altra classe non potrà accedere a questa variabile.
- Scrivere private o meno per dafult è private
PUBLIC
- Può essere utilizzata anche all’esterno della propria classe.
- Rendere pubblica una variabile di istanza infrange la regola dell’incapsulamento
- Di fatto sono i metodi ad essere pubblici mentre le variabili di istanza privata.
INTERNAL
- é una forma intermedia di accesso tra pubblic e private.
- Può essere utilizzato dalle classi e dai membri delle classi
- è il livello di accessibilità standard delle classi scriverlo o non scriverlo non cambia
- Gli oggetti della classe possono essere istanziati solamente all’ interno dell’ assembly nella quale è stata definita.
STATIC
- Se un membro di una classe viene dichiarato static significa che NON PUO’ essere istanziato ma è comunque utilizzabile direttamente sulla classe
A cosa servono i costruttori?
- Un costruttore serve per costruire un’ istanza di una classe.
- ha SEMPRE lo stesso nome della classe ed è un requisito obbligatorio.
La keyword THIS cosa rappresenta all’ interno del costruttore?
La Keyword THIS rappresenta l’istanza corrente sulla quale noi stiamo eseguendo il costruttore.
Cosa sono le property?
- Le property sono un modo piu compatto ed elgante per gestire i metodi Getter e Setter
Cosa sono le Struct?
- Le struct sono Value Types
- Sono un modo per creare i nostri tipi di dato
- NON possono definire un costruttore e quindi non possono essere istanziate
- NON supportano l’ereditarietà
Cosa sono gli Enum?
- I tipi Enum sono utili quando una variabile di un programma può assumere solo un insieme di valori predefiniti.
- Esempio: i punti cardinali Nord, Sud, Ovest, Est.