Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2014, 13:40
Интересующийся
Отправить личное сообщение для Фархад Рахимжанов Посмотреть профиль Найти все сообщения от Фархад Рахимжанов
 
Регистрация: 20.11.2012
Сообщений: 11

ООП: переписать метод через наследование
Имеется код:
(function() {

SUGAR.quickCompose = {};

SUGAR.quickCompose = function() {
	return {
		loadResources: function(o) { ... },
		init: function(o) { ... },
		...
	}
}(); // SUGAR.quickCompose
})(); // function()


Могу ли я унаследовать "класс" SUGAR.quickCompose и переписать метод "loadResources"?
Буду благодарен за пример кода.

PS: Представленный выше код доступен "в режиме чтения" (код ядра системы).
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2014, 13:56
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а у этой системы готовый метод типа define? например у фреймворка extjs есть такой метод, который создает новый класс от какого либо другого класса
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2014, 14:17
Интересующийся
Отправить личное сообщение для Фархад Рахимжанов Посмотреть профиль Найти все сообщения от Фархад Рахимжанов
 
Регистрация: 20.11.2012
Сообщений: 11

Исследование кода показало, что подобные методы отсуствуют.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2014, 14:32
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я хочу сказать что приглядевшись (бывает, туплю) я увидел что SUGAR.quickCompose будет являться не классом а объектом.

класс это грубо говоря функция. да там функция, но она сразу же и выполняется и превращается в объект.. понимайте?

нельзя ли просто добавить туда еще один метод типа loadResources2: function () {/* трололо */};
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2014, 14:54
Интересующийся
Отправить личное сообщение для Фархад Рахимжанов Посмотреть профиль Найти все сообщения от Фархад Рахимжанов
 
Регистрация: 20.11.2012
Сообщений: 11

Да, Вы правы, это объект.
К сожалению, код доступен "в режиме чтения".

Судя по всему придеться искать костыльные решения :-)
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2014, 14:58
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

в плане для чтения? закодирован что ли?
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2014, 06:33
Интересующийся
Отправить личное сообщение для Фархад Рахимжанов Посмотреть профиль Найти все сообщения от Фархад Рахимжанов
 
Регистрация: 20.11.2012
Сообщений: 11

Это файл ядра системы.
Мы разрабатываем "сторонний" модуль по принципу "upgrade-safe".
Ответить с цитированием
  #8 (permalink)  
Старый 21.08.2014, 08:29
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а что мешает переопределить функцию в объекте?

можно конечно скопировать все свойства и методы этого (разумеется готового) объекта и сохранить в другой объект. пробежаться по свойствам объекта можно с помощью цикла for(var prop in myObj) {...}
Ответить с цитированием
  #9 (permalink)  
Старый 21.08.2014, 09:18
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Фархад Рахимжанов
PS: Представленный выше код доступен "в режиме чтения" (код ядра системы).
невозможность изменить код функции не означает, что Вы не можете эту функцию написать еще раз ниже этого кода. А там уже пишите свой loadResources.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП наследование. Как получить доступ к методам родителя? ShuggyBumblebee Общие вопросы Javascript 5 04.12.2013 00:44
Метод JQuery $.post работает через раз Dimaz AJAX и COMET 3 22.11.2012 17:52
Через argument.callee не получается переписать функцию. Jurasmi Общие вопросы Javascript 2 23.03.2011 12:54
Передача полю объекта - массиву, значения элемента через set метод poorking Общие вопросы Javascript 1 13.02.2011 20:22
как переписать через attachEvent olgatcpip Internet Explorer 3 13.07.2009 16:30