Differenza tra classi e strutture

Differenza tra classi e strutture
Differenza tra classi e strutture

Video: Differenza tra classi e strutture

Video: Differenza tra classi e strutture
Video: Lezione Tedesco 41 | Moto in Luogo Circoscritto vs. Moto a Luogo 2024, Novembre
Anonim

Classi vs Strutture

Alcuni dei concetti principali dei linguaggi di programmazione Object Oriented (OO) sono l'incapsulamento, l'ereditarietà e il polimorfismo. Class e Structure sono due dei costrutti/strumenti OO, che aiutano i programmatori a raggiungere questi concetti all'interno della maggior parte dei linguaggi di programmazione OO esistenti (Java non fornisce strutture). Le classi sono una rappresentazione astratta di oggetti del mondo reale. Le strutture sono molto simili alle classi con un uso simile, ma hanno poche limitazioni rispetto alle classi. Sia le classi che la struttura vengono utilizzate per raggruppare tipi di dati simili, insieme.

Cosa sono le classi?

Le classi descrivono la rappresentazione astratta degli oggetti del mondo reale, mentre le relazioni descrivono come ogni classe è connessa alle altre. Sia le classi che le relazioni hanno proprietà chiamate attributi. I metodi nelle classi rappresentano o definiscono il comportamento di queste classi. I metodi e gli attributi delle classi sono chiamati membri della classe. In genere, l'incapsulamento si ottiene rendendo privati gli attributi, creando al contempo metodi pubblici che possono essere utilizzati per accedere a tali attributi. Un oggetto è l'istanza di una classe. L'ereditarietà consente all'utente di estendere classi (chiamate sottoclassi) da altre classi (chiamate super classi). Il polimorfismo consente al programmatore di sostituire un oggetto di una classe al posto di un oggetto della sua superclasse. Tipicamente, i nomi trovati nella definizione del problema diventano direttamente classi nel programma. E allo stesso modo, i verbi diventano metodi. Pubblico, privato e protetto sono i tipici modificatori di accesso utilizzati per le classi. Un diagramma delle classi mostra le classi dei sistemi, le relazioni tra classi e i loro attributi.

Cosa sono le strutture?

Come accennato in precedenza, le strutture sono molto simili alle classi con un uso simile, ma hanno capacità leggermente limitate rispetto alle classi. In effetti, le classi possono essere considerate come un'estensione delle strutture. Ad esempio, le strutture sono le stesse delle classi in C++, ma hanno membri pubblici per impostazione predefinita. Una struttura può essere definita dall'utente per rappresentare un tipo composto. Analogamente alle classi, le strutture contengono membri che possono appartenere a molti tipi. La parola chiave struct è usata per definire una struttura in C e C++, mentre la parola chiave Structure è usata per lo stesso nei linguaggi di programmazione. NET.

Qual è la differenza tra classi e strutture?

Anche se sia le classi che le strutture sono costrutti simili che si trovano nei linguaggi di programmazione, hanno sottili differenze. In genere, la classe è un'estensione della struttura e pertanto le strutture presentano alcune limitazioni relative. Ad esempio, le strutture possono essere considerate come le classi in C++, ma i membri non sono pubblici per impostazione predefinita nelle classi (a differenza delle strutture). Ciò significa in re altà che è possibile definire una classe e una struttura con esattamente le stesse caratteristiche utilizzando i modificatori di accesso appropriati in C++. Tuttavia, in C, le strutture non possono contenere funzioni o operazioni sovraccaricate. Le parole chiave class e struct vengono utilizzate rispettivamente per definire una classe e una struttura in C++. Quando si tratta di linguaggi. NET (C, VB. NET, ecc.), la classe è un tipo di riferimento, mentre la struttura è un tipo di valore. E di solito, le strutture vengono utilizzate per oggetti più piccoli, ma le classi vengono utilizzate per oggetti più grandi che vengono mantenuti in memoria per periodi più lunghi.

Consigliato: