Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 20.11.2012, 13:36
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
Про ООП мне как минимум хочется услышать про классы
мне тоже хочется услышать про классы в JS ООП.

Цитата:
Тебе про что написать, просто мне влом про это все писать.
вот про это можешь написать
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #22 (permalink)  
Старый 20.11.2012, 14:21
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Не надо тут устраивать подколы.
Вопрос звучал "Что такое ООП?". Я уже писал что хочу проверить знание принцыпов, а уже как тот или иной язык выкручивается и реализует ооп, это уже другой вопрос.
В perl 5 например тоже родного ООП нет, но принципы то применяют.
Ответить с цитированием
  #23 (permalink)  
Старый 20.11.2012, 14:26
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

мне как-то дали в качестве теста вот это, до сих пор в замешательстве, что это:

Цитата:
Напишите код, который реализует следующее поведение:
var a = new Someting, b = new Someting;

Someting.prototype.my_name = 'Jack';

a === b && a.constructor === Someting && b.constructor === Someting && b.my_name == 'Jack'
Ответить с цитированием
  #24 (permalink)  
Старый 20.11.2012, 14:26
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Сообщение от Tim Посмотреть сообщение
мне тоже хочется услышать про классы в JS ООП.


вот про это можешь написать

Можешь покритиковать статью на этом сайте, там тоже про классы пишут.

Наследование на классах
Ответить с цитированием
  #25 (permalink)  
Старый 20.11.2012, 14:33
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Deivan, помоему под такие условия подходит Синглетон.
Ответить с цитированием
  #26 (permalink)  
Старый 20.11.2012, 14:34
Аватар для Shaci
:-/
Отправить личное сообщение для Shaci Посмотреть профиль Найти все сообщения от Shaci
 
Регистрация: 28.09.2009
Сообщений: 1,126

Сообщение от Thekostya Посмотреть сообщение
Можешь покритиковать статью на этом сайте, там тоже про классы пишут.

Наследование на классах
слово классы всегда в кавычках, в данном случае их просто не поставили
Ответить с цитированием
  #27 (permalink)  
Старый 20.11.2012, 14:42
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Сообщение от deivan Посмотреть сообщение
мне как-то дали в качестве теста вот это, до сих пор в замешательстве, что это:
Как то так
function Something() {
   if (!Something._inst)
      Something._inst=this;
   return Something._inst;
}


И Someting исправлено на Something
Ответить с цитированием
  #28 (permalink)  
Старый 20.11.2012, 14:43
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Сообщение от Shaci Посмотреть сообщение
слово классы всегда в кавычках, в данном случае их просто не поставили
Ну я то не критикую, это меня покритиковали. :0)
Ответить с цитированием
  #29 (permalink)  
Старый 20.11.2012, 14:49
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

Сообщение от Thekostya Посмотреть сообщение
Как то так
function Something() {
   if (!Something._inst)
      Something._inst=this;
   return Something._inst;
}

И Someting исправлено на Something
благодарю, а могли бы пояснить логику этого процесса, так сказать, "на пальцах"?..
Ответить с цитированием
  #30 (permalink)  
Старый 20.11.2012, 15:11
Интересующийся
Отправить личное сообщение для Thekostya Посмотреть профиль Найти все сообщения от Thekostya
 
Регистрация: 19.05.2008
Сообщений: 10

Сообщение от deivan Посмотреть сообщение
благодарю, а могли бы пояснить логику этого процесса, так сказать, "на пальцах"?..
Если на пальцах то так:
Имеем твои условия:
var a = new Someting, b = new Someting;
 
Someting.prototype.my_name = 'Jack';
 
a === b && a.constructor === Someting && b.constructor === Someting && b.my_name == 'Jack'


Читаем описание === для сравнения объектов и отсюда делаем вывод что в результате a и b должны ссылаться на один объект. Нам нужен конструктор, который все время выдает один и тот же объект. Это и есть паттерн Singleton.

function Something() {
   if (!Something._inst)
      Something._inst=this;
   return Something._inst;
}


Как он работает - проверяем переменную "класса" _inst, если пустая, то значит это первый запуск конструктора, присваиваем ей текущий экземпляр this. Если она не пустая то уже хранит ранее созданный, который мы и возвращаем. Таким образом мы создаем 1 экземпляр и в дальнейшем возвращаем всегда его.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросы по TreeView posta ExtJS 4 18.03.2011 12:52
Форум: помечать "закрытые" вопросы. Jurasmi Сайт Javascript.ru 27 11.12.2010 19:53
AJAX для ЧАЙНИКОВ (вопросы) sc2r2bey AJAX и COMET 16 10.07.2009 21:23