Differenza tra classe astratta e classe concreta

Differenza chiave: esistono due tipi principali di classi: Classe astratta e Classe concreta. La principale differenza tra i due deriva dal livello di implementazione delle loro funzionalità metodologiche. Le lezioni di calcestruzzo sono classi regolari, in cui tutti i metodi sono completamente implementati. Una classe astratta è esattamente ciò che suggerisce il suo nome. È dove le funzioni non sono definite, cioè sono astratte.

I computer possono essere abbastanza confusi, e questo è prima di aggiungere programmazione del computer, linguaggi di programmazione e protocolli. Per non parlare del fatto che ci sono molti diversi linguaggi di programmazione che sono abbastanza diversi tra loro e hanno il loro set di protocolli. Ad esempio: i linguaggi di programmazione orientata agli oggetti (OOP) come Java e C # sono molto diversi dai linguaggi di programmazione procedurale e dai linguaggi di programmazione strutturale. I linguaggi OOP sono basati sulla classe, mentre altri sono basati sulla logica. Questi linguaggi OOP raggiungono i concetti orientati agli oggetti come l'incapsulamento, l'ereditarietà e il polimorfismo attraverso l'uso delle classi.

Esistono due tipi principali di classi: Classe astratta e Classe concreta. La principale differenza tra i due deriva dal livello di implementazione delle loro funzionalità metodologiche. Le lezioni di calcestruzzo sono classi regolari, in cui tutti i metodi sono completamente implementati. Una classe astratta è esattamente ciò che suggerisce il suo nome. È dove le funzioni non sono definite, cioè sono astratte. È la classe base. Una volta definita una classe astratta, essa cessa di essere astratta e diventa una classe concreta. Una classe concreta è dove vengono fornite le implementazioni per le funzioni membro. Una classe concreta deriva dalla classe base, cioè classe astratta.

Una classe astratta è composta solo da metodi astratti. Un metodo astratto contiene solo definizioni, ma nessuna implementazione. Le implementazioni sono fornite nella classe concreta, solo dopo di che i metodi possono essere implementati. Una classe astratta non può mai essere definitiva, in quanto non ha funzioni definite. Quindi, ogni programma deve avere una classe concreta, al fine di dirgli quali funzioni implementare e come.

Un modo più semplice per pensarci sarebbe considerare un esempio. Pensa allo sport, è un oggetto, ma non è definito. Tecnicamente, non esiste lo sport. Esiste solo come categorizzazione per altri oggetti. Questi oggetti, come il calcio, il baseball, il basket, l'hockey, ecc., Sono oggetti definiti che possono essere categorizzati e implementati sotto lo sport. Quindi, lo sport è la classe astratta, mentre il calcio, il baseball, il basket e l'hockey sono lezioni concrete.

Confronto tra Classe astratta e Classe concreta:

Classe astratta

Classe concreta

genere

Classe base

Classe predefinita

metodi

Può contenere metodi parzialmente implementati

Tutti i metodi sono completamente implementati

funzioni

Alcune o tutte le funzioni dichiarate sono puramente virtuali

Nessuna funzione puramente virtuale

la creazione di istanze

Non può essere istanziato

Può essere istanziato

Cortesia dell'immagine: tutorials.jenkov.com, stackoverflow.com

Raccomandato

Articoli Correlati

  • differenza tra: Differenza tra scivolare e planare

    Differenza tra scivolare e planare

    Differenza fondamentale: il volo a vela è qualcosa che viene fatto senza alcuno sforzo. Non richiede propulsione o alcun motore. Pensa a un aeroplano di carta, non ha alcuna fonte di energia. Quando lo lanciamo in aria, attraversa lentamente la lunghezza della stanza e poi atterra o piuttosto cade sul pavimento.
  • differenza tra: Differenza tra sessione ASP e sessione ASP.NET

    Differenza tra sessione ASP e sessione ASP.NET

    Differenza fondamentale: ASP sta per Active Server Pages. È comunemente noto come Classic ASP o ASP Classic. È un ambiente di scripting lato server sviluppato e rilasciato da Microsoft. ASP.NET è un framework per applicazioni Web lato server. ASPX è l'acronimo di Active Server Pages Extended. È
  • differenza tra: Differenza tra Lion e Tiger

    Differenza tra Lion e Tiger

    Differenza chiave: i leoni e le tigri differiscono in termini di dimensioni, forma del cranio e persino in caratteristiche come strisce e criniere. Leoni e tigre sono due degli animali più confusi per molte persone. Il motivo più comune è dovuto al numero di somiglianze che condividono. A prima vista, leoni e tigri possono sembrare uguali, specialmente le femmine. L
  • differenza tra: Differenza tra democratico e repubblicano

    Differenza tra democratico e repubblicano

    Differenza fondamentale: il Partito Democratico si è dichiarato di essere centrato sullo spettro politico di sinistra-destra. Ha promosso una piattaforma social progressista e progressista. Il Partito della Repubblica è il più grande concorrente del Partito Democratico. Si considera come di destra sullo spettro politico di sinistra-destra e si vanta del conservatorismo americano. I
  • differenza tra: Differenza tra PSD e PNG

    Differenza tra PSD e PNG

    Differenza fondamentale: PSD è l'estensione di file predefinita per i file di Photoshop. PSD infatti sta per "Photoshop Document". PNG è l'acronimo di Portable Network Graphics. È stato creato come sostituto migliorato e non brevettato per Graphics Interchange Format (GIF). Esistono molti formati di file diversi. O
  • differenza tra: Differenza tra supercomputer e mainframe

    Differenza tra supercomputer e mainframe

    Differenza chiave: un supercomputer è un potente computer che viene utilizzato per elaborare i dati alla massima velocità possibile. Un mainframe è un computer di grandi dimensioni che viene utilizzato per calcoli che trattano un'enorme quantità di dati. Quindi, l'obiettivo principale di un supercomputer è la velocità, mentre per un mainframe è gestire una grande quantità di dati. I comp
  • differenza tra: Differenza tra Joomla 2.5 e Joomla 3.0

    Differenza tra Joomla 2.5 e Joomla 3.0

    Differenza chiave: Joomla 2.5 e Joomla 3.0 sono due versioni del software Joomla. Joomla 2.5 è stato rilasciato il 24 gennaio 2012, mentre Joomla 3.0 è stato rilasciato il 27 settembre 2012. Sebbene, Joomla 2.5 sia una versione LTS e 3.0 sia una versione a supporto a breve termine (STS), ha offerto molti aggiornamenti sul 2.5
  • differenza tra: Differenza tra HTML, XHTML, DHTML e XML

    Differenza tra HTML, XHTML, DHTML e XML

    Differenza fondamentale: HTML sta per HyperText Markup Language. È un linguaggio di markup ben noto usato per sviluppare pagine web. È in circolazione da molto tempo ed è comunemente usato nella progettazione di pagine web. XHTML è l'acronimo di Extensible HyperText Markup Language. È un linguaggio di markup scritto in XML. Ess
  • differenza tra: Differenza tra Alcatel One Touch Idol Ultra e Samsung Galaxy Grand

    Differenza tra Alcatel One Touch Idol Ultra e Samsung Galaxy Grand

    Differenza fondamentale: Alcatel One Touch Idol Ultra è dotato di un touchscreen capacitivo AMOLED HD da 4, 65 pollici con una risoluzione di 720 x 1280 pixel. Il telefono è alimentato da un processore Dual-core da 1, 2 GHz su un MediaTek MTK 6577 e 1 GB di RAM. Il telefono ha una larghezza di 6, 45 mm, che ha portato l'azienda a pubblicizzarlo come lo smartphone più sottile sul mercato. S

Scelta Del Redattore

Differenza tra rispetto e onore

Differenza chiave: il rispetto è un termine usato per mostrare rispetto, stima e / o ammirazione per qualcuno. Onore, d'altra parte, è un termine che viene usato per mostrare grande rispetto e grande stima per qualcuno o qualcosa. La principale differenza tra i due è che l'onore è considerato leggermente superiore rispetto. Qu