2021-10-07 13:08:00
Шпаргалка по пинципам ООП.Один из самых частовстречающихся вопросов по
ООП с собеседований. Разберёмся в этой теме кратко, такого ответа чаще всего хватит интервьюеру.
1. Наследование.Наследование — механизм, который позволяет описать новый класс на основе существующего, то есть родительского. При этом свойства и функциональность родительского класса заимствуются новым классом.
В первую очередь это используется для переиспользования уже написанного кода, что должно упростить и ускорить разработку. Классы строятся друг на друге, что выстраивает чёткую иерархию.
2. Абстрация.Абстрация — выделение главного. Суть заключается в выделении только самого главного и абстрагировании от незначительного. Например, у класса Auto мы создадим поля, например, fuel, mark, age, engine, а от поля lightsColor абстрагируемся, так как для нашей задачи это не важно.
3. Инкапсуляция.Это скрытие чего либо, ограничения доступа к данным и к возможности их изменения. Как пример — код от учетной записи. Если записать его на листочке и повесить его на монитор, то любой «пользователь», севший за компьютер, получит к ней доступ и сможет поменять пароль. Так же для пользователя выглядят публичные переменные класса.
Инкапсуляция же сделает данные недоступными извне либо только для изменения, либо для любых операция в целом.
4. Полиморфизм.
Полиморфизм — возможность работать с разными типами данных, не зависимо от этого, получая подобный результат. Чтобы лучше понять о чем речь, рассмотрим такой код:
class Person {
say() {
console.log("I'm nobody")
}
}
class Programmer extends Person {
say() {
console.log("I'm programmer")
}
}
class Director extends Person {
say() {
console.log("I'm director")
}
}
У объектов классов Person, Programmer и Director, одинаковый интерфейс взаимодействия. При том, что они имеют разные типы, поведение подобное. Это и есть смысл полиморфизма.
И на этом в целом всё. Спасибо за прочтение, это важно для меня
#web #theory #javascript
441 views10:08