Классическое наследование против наследования прототипов в Javascript VS Objective-C VS Swift - PullRequest
0 голосов
/ 14 октября 2018

Я разработчик для iOS, который сейчас изучает Javascript.Мой предыдущий опыт связан с Objective-C и Swift.

Однако наследование прототипа в JS путается, когда я пытаюсь сравнить его с моделью наследования в Objective-C и Swift.Я прочитал много статей на эту тему, но у меня остались вопросы.Мои вопросы:

1) Отвечает ли ответ на модель типа наследования вообще на конкретный язык?

2) В Javascript, как я понимаю, естьнет такой концепции, как Class и даже ES6 Class действует как оболочка для Prototype .Прототип не работает как проект , как в классической модели наследования.

Где находится граница между Class и Prototype в контексте blue-print ?

3) Многие статьи, которые я читал, подчеркивали гибкость Javascript для изменения цепочек прототипов на лету.

Однако в Objective-C с использованием среды выполнения objc мы можем слегка достичь чего-то вроде заменысуперкласс isa swizzling .Или добавьте методы / свойства "на лету" с помощью objc.runtime.И Класс служит самим объектом в Objective-C.Он имеет указатель isa на суперкласс, может отвечать на сообщения и т. Д.

Можно ли утверждать, что Objective-C (или другие языки) может имитировать наследование прототипа с помощью некоторых методов?

Или в контексте этого вопроса Класс следует рассматривать как абстрактный термин, а не детали его реализации?

4 Можем ли мы достичьчто-то вроде наследования прототипа в Swift?Имеет ли это значение в контексте статических / динамически типизированных языков?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...