Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.01.2014, 15:57
Новичок на форуме
Отправить личное сообщение для ArtJS Посмотреть профиль Найти все сообщения от ArtJS
 
Регистрация: 29.12.2013
Сообщений: 7

Цитата:
А как в классическом ООП решается эта проблема?
Обычно вложенный класс имеет доступ к членам внешнего класса.
Например для ЯП Java (не Script) если это нестатические классы то можно наваять что-то в стиле такого:
public class MyObj {
	private String name = "abc";
	public class SubObj {
		private int x = 12345;
		void printName() {
			System.out.println(name);//спокойно обратимся к полю name внешнего класса.
		}
	}
}


Ну а использование такого как-то так будет:
MyObj.SubObj obj = new MyObj().new SubObj();
obj.printName();

Ладно, это конечно оффтоп
Просто представление в JS объектов в виде массивов накладывает свои особенности, сразу непривычно
Ответить с цитированием
  #12 (permalink)  
Старый 18.01.2014, 16:52
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ArtJS
Например для ЯП Java (не Script) если это нестатические классы то можно наваять что-то в стиле такого:
Да, действительно. В JS тебе придется явно передать ссылку на родителя:

function MyObj() {
    this.name = "abc";
}

MyObj.SubObj = function(parent) {
    this.parent = parent;
    this.x = 12345;
}

MyObj.SubObj.prototype.printName = function() {
    alert(this.parent.name);
}

new MyObj.SubObj(new MyObj()).printName();
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
?!Множественный вызов contextMenu!? fen0man jQuery 3 22.05.2012 09:02
Двойной вызов функции Tmin10 jQuery 8 08.12.2011 13:19
Многократный вызов звука.. ProniK Общие вопросы Javascript 2 11.01.2010 13:50
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 12:16