Показать сообщение отдельно
  #6 (permalink)  
Старый 01.12.2013, 14:55
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Сообщение от danik.js
Помоему такого рода "приватные методы" (ввиде локальных функций) не оставляют возможности наследоваться от класса и перекрывать методы.
function Animal() {

  }

  Animal.prototype.say = function() {
    alert('i Animal')
  };



  Cat.prototype = Object.create(Animal.prototype); //наследуем
  function Cat() {

  }

  Cat.prototype.say = function() {
    this.constructor.prototype.say.call(this); //перекрытый метод
    alert('i Cat')
  };


  new Cat().say();



можно еще для простоты сделать так

Cat.prototype = Object.create(Animal.prototype); //наследуем
  Cat.prototype.parent = Cat.prototype;
  function Cat() {

  }

  Cat.prototype.say = function() {
    this.parent.say.call(this); //перекрытый метод
    alert('i Cat')
  };



Сообщение от kobezzza
В ангуляре вроде так.
кстати раз уж я пытаюсь копировать их апи и названия методов, я на всякий скопировал и эту традицию, теперь бесит =)

Последний раз редактировалось Maxmaxmaximus3, 01.12.2013 в 14:58.
Ответить с цитированием