![Daniel Westheide – The trouble with subtyping: An introduction to typebounds and variance](https://i.ytimg.com/vi/O4YNKrsovk0/hqdefault.jpg)
Contenuto
- Definizione - Cosa significa sottotipizzazione?
- Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.
- Techopedia spiega il sottotipo
Definizione - Cosa significa sottotipizzazione?
Il sottotipo è una nozione nella teoria del linguaggio di programmazione in cui un sottotipo, che è un tipo di dati, è correlato a un supertipo basato sulla nozione di sostituibilità, in cui gli elementi del programma come funzioni e subroutine che sono scritti per il supertipo funzioneranno comunque se dato il sottotipo invece. I sottotipi sono un concetto essenziale nella programmazione orientata agli oggetti e sono sostituibili ai supertipi e talvolta hanno persino specifiche più rigorose rispetto al supertipo.
Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.
Techopedia spiega il sottotipo
Il sottotipo è un metodo per la sostituzione e il riutilizzo del codice utilizzato nei linguaggi di programmazione orientati agli oggetti per impedire la copia non necessaria di codice ampiamente simile e promuovere la leggibilità del codice e prevenire i bug. Un sottotipo è sostanzialmente un sostituto di un supertipo in grado di soddisfare tutte le specifiche di questi ultimi, e quindi alcuni. Quindi se B è un sottotipo di A, allora B può sempre essere usato per sostituire A e qualsiasi proprietà garantita da A deve essere garantita anche da B.
Il sottotipo può rafforzare e persino aggiungere proprietà che non si trovano sul supertipo, il che significa che consente di estenderlo. Quindi, invece di creare un nuovo supertipo ogni volta che è necessario qualcosa di nuovo e quindi copiare proprietà e condizioni da un altro supertipo, si potrebbe semplicemente creare un sottotipo che estende il supertipo con proprietà o caratteristiche aggiuntive senza modificare il supertipo. Quindi, in questo caso, tutto ciò che è dimostrabile per il supertipo sarà dimostrabile anche per il sottotipo e altro. Se un sottotipo viene trattato allo stesso modo del supertipo utilizzando e interrogando solo metodi e campi del supertipo, i risultati sarebbero coerenti con gli oggetti del supertipo.