Четыре столпа как ваше правильное состояние
- Инкапсуляция.
- Абстракция
- Наследование
- Полиморфизм
Инкапсуляция касается хранения данных, ни больше, ни меньше.
Абстракция имеет дело с абстракцией данных, т. Е. Действительно ли все эти данные актуальны. Подумайте о банке, который содержит информацию об имени, возрасте, адресе, цвете глаз, любимом галстуке и т. Д. Действительно ли цвет глаз и любимый галстук действительно соответствуют требованиям банков? Это абстракция.
Наследование имеет дело с обобщением. Информация, которая может относиться более чем к одной вещи. Если что-то наследует от чего-то, то можно сказать, что это более специфический тип этой вещи. Например, Животное. Собака - это тип Животного, поэтому Собака наследует от Животного. Джек Рассел - тип собаки, поэтому Джек Рассел наследует от собаки.
Полиморфизм имеет дело с вещами, имеющими многократные формы (полиморфизм).
Два вида в программировании,
- Позднее связывание,
Вы ссылаетесь на что-то как на общий тип, и, следовательно, компилятор не знает, что связывать во время компиляции. Подумайте, метод Overriding.
Раннее связывание
- Вы переопределяете метод, используя другую сигнатуру, т.е.
int add(int a, int b) vs double add(double a, double b)
Это, по сути, основные принципы объектной ориентации. Между ними много общего, поэтому очень важно добиться четкого понимания того, что означает каждый из них.