Qual è la differenza tra classe e struttura

Il differenza principale tra Classe e Struttura è che il La classe è un tipo di dati di tipo di riferimento mentre la struttura è un tipo di dati di tipo valore.

Nella programmazione, una variabile è un'area di memoria per memorizzare i dati. Ogni variabile ha un tipo di dati specifico che può memorizzare. Principalmente, ci sono due tipi di dati come tipo di valore e tipo di riferimento. Nel tipo di valore, un valore viene assegnato direttamente. Inoltre, int, float e double sono alcuni esempi di tipi di dati di tipo value. D'altra parte, i tipi di dati del tipo di riferimento non memorizzano i dati effettivi. Invece, memorizza un riferimento alla variabile. Classe e struttura sono due concetti di programmazione. Come accennato in precedenza, Class è un tipo di dati di tipo riferimento mentre Structure è un tipo di dati di tipo valore.

Aree chiave coperte

1. Cos'è la classe
     - Definizione, Funzionalità
2. Cos'è la struttura
    - Definizione, Funzionalità
3. Qual è la differenza tra classe e struttura
     - Confronto tra le principali differenze

Parole chiave

Classe, struttura

Cos'è la classe

Tutto è un oggetto in Object Oriented Programming (OOP). Gli oggetti sono creati usando una classe. Una classe è un progetto per creare un oggetto. Inoltre, una classe è composta da attributi e metodi. Gli attributi sono anche chiamati proprietà e definiscono le caratteristiche di un oggetto. I metodi definiscono il comportamento dell'oggetto. Inoltre, la creazione di un oggetto usando una classe è detta istanziazione.

Figura 1: Diagramma UML di una classe

I membri di una classe sono gli attributi e i metodi di una classe. Principalmente, sono tre specificatori di accesso per supportare l'occultamento dei dati in OOP: pubblico, privato e protetto. In primo luogo, i membri pubblici sono visibili a tutte le classi. In secondo luogo, i membri privati ​​sono visibili solo all'interno della stessa classe. In terzo luogo, i membri protetti sono visibili all'interno del pacchetto e delle sottoclassi.

Inoltre, una classe contiene anche una funzione speciale chiamata costruttore. Aiuta a creare un nuovo oggetto. Inoltre, ha lo stesso nome della classe e non ha alcun tipo di reso. Può essere un costruttore predefinito o un costruttore parametrizzato.

Un esempio di classe è il seguente.

Dipendente di classe

int id pubblico;

nome della stringa pubblica;

Il programma principale è il seguente.

Dipendente e = nuovo Impiegato ();

e.id = 101;

e.name = "Ann";

Secondo il programma di cui sopra, la classe ha due proprietà: id e nome. Sono pubblici e accessibili da qualsiasi altra classe. Nel programma principale, il costruttore crea un oggetto di tipo Employee. Quindi, i valori vengono assegnati all'ID e al nome.

Cos'è la struttura

La struttura è una singola variabile che contiene più tipi di dati. In altre parole, si tratta di una raccolta di variabili di tipi di dati diversi, tutte referenziate con un solo nome. La dichiarazione della struttura forma un modello che aiuta a creare un'istanza della struttura. Un esempio è il seguente.

struct Employee

int id pubblico;

nome della stringa pubblica;

;

Il programma principale è il seguente.

Dipendente e;

e.id = 101;

e.name = "Ann";

Secondo il programma di cui sopra, la struttura contiene due proprietà: id e nome. Nel programma principale, l'istruzione 'Employee e' dichiara 'e' come un tipo struct Employee. Quindi, i valori vengono assegnati all'ID e al nome.

Differenza tra classe e struttura

Definizione

Una classe è un progetto che definisce le variabili e i metodi comuni a tutti gli oggetti di un certo tipo. È un tipo di dati del tipo di riferimento. Al contrario, una struttura è un tipo di dati di tipo valore che può contenere dati correlati di vari tipi di dati. Pertanto, la differenza principale tra Classe e Struttura è nel tipo di dati.

Eredità

Una classe può ereditare da altre classi o strutture mentre una struttura non può ereditare altre classi o strutture.

Distruttore

Inoltre, il distruttore è un'altra differenza tra Classe e Struttura. La classe può avere un distruttore, ma la struttura non ha un distruttore.

la creazione di istanze

Inoltre, un'altra differenza tra Classe e Struttura è che una classe crea un'istanza di un oggetto usando una nuova parola chiave mentre una struttura crea un'istanza di un oggetto senza usare una nuova parola chiave.

Esempio

Inoltre, l'istanza di una classe è un oggetto mentre l'istanza di una struttura è una variabile di struttura. Quindi, questa è un'altra differenza tra Classe e Struttura. 

Parola chiave

Inoltre, la parola chiave "class" definisce una classe. La parola chiave "struct" definisce una struttura.

Identificatore di accesso predefinito

Inoltre, in una classe, se non sono stati dichiarati specificatori di accesso, i membri sono privati. In una struttura, se non sono stati dichiarati specificatori di accesso, i membri sono pubblici.

Conclusione

Nella programmazione, è necessario memorizzare i dati. Una variabile è una posizione che viene utilizzata per memorizzare i dati. Esistono due tipi di variabili come tipo di valore e tipo di riferimento. La differenza fondamentale tra Classe e Struttura è che una Classe è un tipo di dati di tipo di riferimento mentre una Struttura è un tipo di dati di tipo valore.

Riferimento:

1. "Classi C #". Www.tutorialspoint.com, disponibile qui.
2. "Strutture C #". Www.tutorialspoint.com, disponibile qui.

Cortesia dell'immagine:

1. "Oop-uml-class-example" By L'uploader originale era Esap in Wikipedia inglese. - Trasferito da en.wikipedia a Commons (CC BY-SA 3.0) via Commons Wikimedia