Subtipagem

Definição - o que significa subtipagem?

Subtipagem é uma noção na teoria da linguagem de programação onde um subtipo, que é um tipo de dados, está relacionado a um supertipo baseado na noção de substituibilidade, onde elementos de programa, como funções e sub-rotinas que são escritas para o supertipo ainda irão operar se dado o subtipo em vez disso. Os subtipos são um conceito essencial na programação orientada a objetos e são substituíveis por supertipos e, às vezes, até têm especificações mais rígidas do que o supertipo.

Definirtec explica a subtipagem

Subtipagem é um método para substituição e reutilização de código usado em linguagens de programação orientadas a objetos para evitar a cópia desnecessária de código muito semelhante e promover a legibilidade do código e evitar bugs. Um subtipo é basicamente um substituto para um supertipo que pode cumprir todas as especificações deste último, e mais algumas. Portanto, se B é um subtipo de A, então B sempre pode ser usado para substituir um A e qualquer propriedade garantida por A também deve ser garantida por B.

O subtipo pode fortalecer e até adicionar propriedades que não estão no supertipo, o que significa que permite que o supertipo seja estendido. Portanto, em vez de criar um novo supertipo toda vez que algo novo é necessário e, em seguida, copiar propriedades e condições de outro supertipo, um subtipo poderia simplesmente ser criado para estender o supertipo com propriedades ou recursos adicionais sem alterar o supertipo. Então, neste caso, tudo o que é demonstrável para o supertipo também será demonstrável para o subtipo e muito mais. Se um subtipo for tratado puramente da mesma maneira que o supertipo, usando e consultando apenas métodos e campos de supertipo, os resultados seriam consistentes com objetos do supertipo.