При цьому в кожному класі реалізуються одні і ті ж підпрограми з одними і тими ж параметрами. Так можна реалізувати клас Тварина, з підкласами Свиня та Собака. Оскільки підкласи матимуть один інтерфейс взаємодії, тобто в кожному реалізований метод голос(), то можна підставляти в один і той же код, замість батьківського класу, об'єкт одного з підкласів і отримати різний звук або Гав, або Рох-рох. На практиці, підставновка реалізується шляхом присвоєнню змінній з типом батьківського класу (Тварина) посилання на об'єкт підкласу (на Свиня або Собака).