Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 12.02.2012, 07:06
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Я не знаю, как по-другому объяснить.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #32 (permalink)  
Старый 12.02.2012, 14:56
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Класс это функция которая будет генерить новые объекты.

Private это свойство которое создается каждый раз и засовывается в носовоздаваемого ребенка. если написать дете.имяПриватСвойства то приват свойство не обнаружится, в этом его суть! Видно это свойство ТОЛЬКО методам запущенным относительно этого ребенка через точку При том если эти методы былыи описаны в классе!

Public это свойство которое создается каждый раз для каждого ребенка и засовывается в него напрямую через точку. Методы засунутые туда, так же будут иметь доступ к его приватным свойствам и прочей внутренней херне. при том эти методы и свойства ДОСТУПНЫ снаружи через точку дете.имяПубликСвойства

Static это общее свойство для всех детей, если создать детеныша, изменить у него статик совойство, потом создать нового детеныша, то у нового это статик свойство тоже будет заменено! Статик свойства не доступны через точку снаружи дете.имяСтатикСвойства но доступны всем методам вызванным относительно ребенка если они были описаны в классе.


вопрос, что такое protect?
исходя из информации на сайтах и ту что вы мне дали я понял что это

Protect свойство которое че-то там наследование (я еще пока даже делать не думаю) и.т.п. оно мне пока не нужно, потом как буду делать наследование будем протект добавлять. пока сделаю просто классы

Последний раз редактировалось Mахmахmахimus, 12.02.2012 в 15:07.
Ответить с цитированием
  #33 (permalink)  
Старый 12.02.2012, 15:53
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Классы можно сделать наследниками как классов так и уже созданных детей? я правильно понимаю?
Ответить с цитированием
  #34 (permalink)  
Старый 12.02.2012, 23:53
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Mахmахmахimus
Классы можно сделать наследниками как классов так и уже созданных детей? я правильно понимаю?
Я думаю, лучше всего, прочесть ман и поковырять другой язык. Реализовывать классы по советам — не вариант.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #35 (permalink)  
Старый 13.02.2012, 00:02
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

ну я подумал я проще сделаю как мне кажется будет удобным и логичным, а потом просто буду переделывать что скажут, чтобы другим было привычней и удобней, пока вроде получается, седня ближе к 4 утра выложу код наверное.

пока все сделал через замыкания, но это не дает возможность добавлять новые методы которые получат достууп к тому что в замыканиях. по этому думаю как бы покрасивее все это упаковать без замыканий)
Ответить с цитированием
  #36 (permalink)  
Старый 14.02.2012, 04:22
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Ответить с цитированием
  #37 (permalink)  
Старый 14.02.2012, 04:26
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Если внутри метода обратится к this.prop
то prop будет сначала искаться в __private__ потом в __static__ потом в __public__

если захочется явно указать где искать свойство, то можно обратится так

this.public.prop

или

this.private.prop

this.static.prop

добавлять свойства можно так же

this.static.prop = 300 //и у всех котов появится свойство prop равное 300

ЕДИНСТВЕННЫЙ косяк, если нужно добавить МЕТОД изнутри другого метода, то нужно писать не так
this.private.prop = function(){}

а так

this.private("prop", function(){})

ТОЛЬКО ТАК вновь добавленные методы смогут работать с уже созданными обьектами.

Но в новом javascript Используя прокси я этот гемор устраню))

Последний раз редактировалось Mахmахmахimus, 14.02.2012 в 16:09.
Ответить с цитированием
  #38 (permalink)  
Старый 16.02.2012, 02:18
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Вопрос, я не должен мочь обращаться к статик свойству вот так
cat.staticProp ???

Иными словами static это ОБЩИЕ приватные свойства сущностей?
Ответить с цитированием
  #39 (permalink)  
Старый 16.02.2012, 02:46
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

В JavaScript это будет всего-лишь свойство самого конструктора
Ответить с цитированием
  #40 (permalink)  
Старый 16.02.2012, 02:51
Профессор
Посмотреть профиль Найти все сообщения от Mахmахmахimus
 
Регистрация: 10.02.2012
Сообщений: 254

Сообщение от Octane
В JavaScript это будет всего-лишь свойство самого конструктора
Аналогия не совсем понятна, в js свойства конструктора не доступны детям этого конструктора. разве нет?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript - классы, они есть или их нету в Javascript? Golovastik Javascript под браузер 39 15.02.2013 10:38
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
javascript вставки в vrml сцены. Передать событие из броузера Proletariy Javascript под браузер 0 10.05.2011 12:26
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34