
Визначення нового класу (породжений клас, підклас, англ. derived class, англ. subclass) може базуватись на визначенні вже існуючого (базовий клас, англ. base class, англ. superclass). В такому випадку, новий клас отримає властивості та поведінку базового класу, та доповнить їх своїми власними. У випадку одиничного успадкування, у кожного класу може бути лише один безпосередній базовий клас. У випадку множинного успадкування, дозволяється існування декількох безпосередніх надкласів.
Застосування методу успадкування дозволяє покращити повторне використання коду шляхом використання вже визначених властивостей та методів (поведінки) базових класів.
- Поліморфізм. Віртуальні та динамічні методи.
Поліморфі́зм — концепція в програмуванні, відповідно до якої використовується спільний інтерфейс для обробки даних різних спеціалізованих типів.
На противагу поліморфізму, концепція мономорфізму вимагає однозначного зіставлення.
В контексті об'єктно-орієнтованого програмування, найпоширенішим різновидом поліморфізму є здатність екземплярів підкласу грати роль об'єктів батьківського класу, завдяки чому екземпляри підкласу можна використовувати там, де використовуються екземляри батьківського класу.
Прикладом поліморфізму в більшості мов програмування є бінарний оператор +, який може мати своїми аргументами дані різного типу: цілі числа, числа з плаваючою точкою, комплексні числа навіть рядки:
1 + 2 - операнди цілого типу, результат цілого типу.
1.2 + 1.0e3 - операнди дійсних типів, результат дійсного типу
"коля" + "маня" - операнди рядки, результат конкатенований рядок
Поліформізм реалізується в багатьох мовах програмування за домогою перевантаження функцій.