Още известен като Inclusion Polymorphism – ако имаме клас А, който бива наследен от клас B, то обекти от клас B могат да бъдат използвани вместо такива от клас А, стига разбира се да не са private.
Важи също и за примитивните типове като например int и float. Долният пример на PHP e валиден, защото int се явява като подтип на float:
function patapan(float $a) { } patapan(123);
Да си спомним за т.н. Numeric tower – йерархично подредени числени типове. В PHP откъм числени типове имаме само Integer и Float. Float e програмният (или компютърният) начин за съхранение на рационални числа (Rational), разликата е, че по дефиниция, от математическа гледна точка рационалните числа могат да бъдат безкрайни дроби (напр. 1/3 е 0.333333…), а float’s трябва да могат все пак да съхранят тази безкрайна дроб с известно закръгляне и загуба на точност.