Я разработчик для 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?Имеет ли это значение в контексте статических / динамически типизированных языков?