Cos'è la classe astratta in C#? | Definizione, Proprietà vs Esempi

che cosa è la classe astratta in c definizione proprietà vs esempi 54988

L'astrazione nella programmazione si riferisce all'occultamento di informazioni non necessarie, sebbene molto importanti, e al rendere visibili all'utente solo determinate informazioni chiave o richieste. Ciò è reso possibile attraverso l'uso di classi astratte.

La classe astratta in C# è essenzialmente una classe che non consente la creazione di oggetti. 'Abstract' è una parola chiave o un modificatore che fa sì che quella particolare classe o metodo sia astratta o ristretta. È possibile accedere a una classe astratta solo tramite ereditarietà da una classe diversa.

Punti chiave

  1. Le classi astratte sono classi incomplete che non possono essere istanziate ma servono come base da cui ereditare altri.
  2. Contengono almeno una funzione virtuale pura, il che significa che non ha implementazione e deve essere definita da qualsiasi classe derivata.
  3. Le classi astratte possono avere variabili membro e funzioni membro con implementazione, ma non è possibile accedervi tramite oggetti della classe astratta.

Proprietà e componenti della classe astratta in C#

Alcuni fattori devono essere presenti per avviare o accedere a una classe astratta. Sono stati elencati come segue.

  1. Una classe astratta crea una classe base a cui accedono comunemente diverse classi derivate. I programmatori devono creare una classe derivata per utilizzare o implementare una classe astratta.
  2. La classe astratta, quindi, deve essere ereditata dalle sottoclassi, che possono persino sovrascrivere la funzione.
  3. Ogni classe astratta richiede almeno un metodo astratto.
Leggi anche:  Node.js vs Python: differenza e confronto

Esempio di una classe astratta in C#

Poiché il meccanismo è complicato e comprensibile solo a chi ha familiarità con il linguaggio di programmazione, è meglio iniziare con un esempio semplice che aiuti a spiegare il concetto.

Supponiamo che esista una classe 'Tree', con un metodo progettato esistente noto come 'type'. Non si definisce altro e non si forniscono altre informazioni particolari: non si conosce il tipo di albero oi possibili tipi.

Se è disponibile un esempio specifico di un albero, allora viene creata una classe separata tramite l'ereditarietà della classe base, Tree. L'idea è che la nuova classe, diciamo Pine o Oak, non possa modificare il costrutto o la definizione della classe base, ovvero Tree. Deve creare la sua classe, derivata dalla classe Tree, e definire un altro metodo ereditato dalla base.

Vantaggi della classe astratta in C#

  1. Sebbene le sottoclassi possano scegliere di implementare o sovrascrivere una classe astratta, è possibile apportare alcune modifiche che richiedono l'implementazione di una determinata funzione.
  2. C'è, quindi, un grande grado di flessibilità quando si progetta una classe astratta per quanto riguarda i metodi che devono essere imperativamente implementati.
  3. Il programmatore può scegliere quanti metodi astratti desidera in una classe astratta. È anche possibile scrivere il codice senza includere metodi astratti.
  4. Una classe astratta deve essere definita solo una volta ed è possibile accedervi o derivarla tutte le volte che è necessario.
  5. Una classe astratta è molto utile quando esiste un insieme di classi che hanno un certo grado di comunanza ma differiscono nella loro implementazione della classe astratta.
Leggi anche:  Eclipse vs MyEclipse: differenza e confronto

Svantaggi della classe astratta in C#

  1. Una classe astratta può essere aggiunta alla gerarchia delle classi solo se non esistono classi astratte.
  2. Gli oggetti di qualsiasi classe astratta possono essere solo referenziati, mai creati.
  3. Anche se le classi astratte non possono essere istanziate, non consente variabili o metodi statici.
Bibliografia
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Una richiesta?

Ho messo così tanto impegno scrivendo questo post sul blog per fornirti valore. Sarà molto utile per me, se pensi di condividerlo sui social media o con i tuoi amici/familiari. LA CONDIVISIONE È ♥️

Vuoi salvare questo articolo per dopo? Fai clic sul cuore nell'angolo in basso a destra per salvare nella casella dei tuoi articoli!

Chi Autore

Chara Yadav ha conseguito un MBA in Finanza. Il suo obiettivo è semplificare gli argomenti relativi alla finanza. Ha lavorato nella finanza per circa 25 anni. Ha tenuto numerosi corsi di finanza e banche per business school e comunità. Leggi di più su di lei pagina bio.