Меню

Наследование в javascript (inheritance)

17.05.2018 - java script, ЯП

Inheritance (Наследование)

Наследования является одной из основных концепций ООП, который позволяют объекту брать и использовать свойства и методы других объектов. Это позволяет легко переиспользовать код в разных частях приложения.

Вот реальный пример. В одном из прошлых уроков мы определили объект circle с методом computeOptimumLocation().

Давайте представим что мы работаем с классом. Представим что Circle это класс и не объект. С одним методом computeOptimumLocation. Давайте представим, что завтра мы собираемся добавить другой класс в наше приложение под названием Square. И ему также нужен метод computeOptimumLocation. Представим что реализация этого метода точно такая же как и у Circle. Мы не хотим повторять эту реализацию, потому что если вылезет какой то косяк в данной имплементации, то придется его исправлять во многих местах или если мы решим изменить реализацию, то нам также придется лезть во много мест и повторять один и тот же код по многу раз, вот где наследование (inherit) приходит на помощь.

Мы можем сделать новый класс — Shape с этим методом и унаследовать Circle и Square от него (класса Shape).

Теперь определимся с терминами. При вышеописанной ситуации мы обращаемся к классу Shape как Base / Super / Parent — все эти термины означают одно и тоже. В то же время к классу Circle мы обращаемся как derived (полученный) / subclass / child class. И наконец, мы обращаемся к отношению наследования как is-a отношения. Т.е. мы говорим Circle is a Shape. Что означает классическое определение наследования.

Итого, есть два типа наследования: классическое и прототипное.

inheritance

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *