Скопировать прототип для наследования?

Я играл с JavaScript, в частности имитируя объектно-ориентированное программирование с классами и еще много чего.

Я знал об этом способе достижения наследства

MyClass.prototype = new AnotherClass();

Но я не был удовлетворен, мне не понравилось, как мне нужно вызывать конструкторAnotherClass, Таким образом, я играл вокруг, и я придумал что-то, что, казалось бы, сработало и, в сущности, хочет второго мнения.

function clone (obj)
{
    function CloneFactory () {}
    CloneFactory.prototype = obj;

    return new CloneFactory();
}

MyClass.prototype = clone(AnotherClass.prototype);

Клонируя прототип, мы получаем новую копию и назначаем егоMyClassпрототипа, так что изменение унаследованных свойств не повлияет на свойства родительского прототипа. Вроде бы такMyClass.prototype = AnotherClass.prototype.

Я запускал стресс-тесты, и это более эффективно при определенных обстоятельствах, то есть когда в конструкторе родительского элемента много кода, в противном случае он примерно одинаков. Другое преимущество (или, по крайней мере, я нахожу это полезным) заключается в том, что оно позволяет в некоторой степени скрывать информацию от подклассов. Любые привилегированные методы и члены НЕ будут наследоваться.

Есть ли какая-то серьезная ошибка, которую я пропускаю?

Я не эксперт по JavaScript, на самом деле я довольно новичок в JavaScript, поэтому я хотел бы высказать второе мнение по этому поводу, потому что, похоже, я ничего не могу найти через Google. Я не хочу реализовывать плохой код :)!

Ответы на вопрос(1)

Ваш ответ на вопрос