Definición - ¿Qué significa Subtipado?
El subtipo es una noción en la teoría del lenguaje de programación donde un subtipo, que es un tipo de datos, está relacionado con un supertipo basado en la noción de sustituibilidad, donde los elementos del programa como funciones y subrutinas que están escritas para el supertipo seguirán funcionando si se les da la subtipo en su lugar. Los subtipos son un concepto esencial en la programación orientada a objetos y son sustituibles a los supertipos y, a veces, incluso tienen especificaciones más estrictas que el supertipo.
Techinfo explica el subtipo
El subtipo es un método de sustitución y reutilización de código que se utiliza en lenguajes de programación orientados a objetos para evitar la copia innecesaria de código muy similar y promover la legibilidad del código y evitar errores. Un subtipo es básicamente un sustituto de un supertipo que puede cumplir con todas las especificaciones de este último, y más. Entonces, si B es un subtipo de A, entonces B siempre se puede usar para sustituir a A y cualquier propiedad que esté garantizada por A también debe estar garantizada por B.
Al subtipo se le permite fortalecer e incluso agregar propiedades que no están en el supertipo, lo que significa que permite extender el supertipo. Entonces, en lugar de crear un nuevo supertipo cada vez que se requiere algo nuevo y luego copiar propiedades y condiciones de otro supertipo, simplemente se podría crear un subtipo que amplíe el supertipo con propiedades o características adicionales sin cambiar el supertipo. Entonces, en este caso, todo lo que sea demostrable al supertipo también lo será al subtipo y más. Si un subtipo se trata puramente de la misma manera que el supertipo utilizando y consultando solo métodos y campos de supertipo, los resultados serían consistentes con los objetos del supertipo.