Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.06.2008, 01:04
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 341  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
function Class1(){
	var pa = this;
	this.a = 4;
	function pMetA(){
		pa.a=10;
	}
	function pMetB(){
		Class1.prototype.propFor__etc = "no more __etc";
	}
	function pmet1(){
		pMetA();
	}
	function pmet2(){
		trace("do pmet2");
	}
	function pmet3(){
		pMetB();
	}
	this.met1=pmet1;
	this.met2=pmet2;
	this.met3=pmet3;
	Class1.prototype.met4 = pmet1;
	Class1.prototype.propFor__etc = "for__etc";
}
var c = new Class1();
c.pMetA = function(){trace("doing some funn stuff here")};
c.pMetA();
Это ваш "кхм... приватный-то метод?"
При чем тут внешние функции? я вполне себе легитимно создал метод у этого класса, никакую внешнюю функцию я не использовал =)
Код:
function Class1(){
	var pa = this;
	this.a = 4;
	function pMetA(){
		pa.a=10;
	}
	function pMetB(){
		Class1.prototype.propFor__etc = "no more __etc";
	}
	function pmet1(){
		pMetA();
	}
	function pmet2(){
		trace("do pmet2");
	}
	function pmet3(){
		pMetB();
	}
	this.met1=pmet1;
	this.met2=pmet2;
	this.met3=pmet3;
	Class1.prototype.met4 = pmet1;
	Class1.prototype.propFor__etc = "for__etc";
}
Class1.prototype.ImLookin4ThePrivateMethod = function(){
	trace("Where in God's name did you put it? " + this.pMetA);
}
var c = new Class1();
c.ImLookin4ThePrivateMethod(); // output: Where in God's name did you put it? undefined
=)
__________________
Hell is the possibility of sanity

Старый 30.06.2008, 01:07
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 342  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Вы задрали со своими фишками. Вы переопределили метод в объекте, создали в этом объекте новый метод. А для запрета переопределения существует ASSetPropFlags!
Создайте новый экземпляр класса и увидите, что никуда pMetA() не делся.
__________________
видеоигры - высший вид искусства

Старый 30.06.2008, 01:12
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 343  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я. Пишу. Часто. Вне тела класса. Мне так нравися!
Я создаю неймспейсы в отдельных файлах, в которых вообще нет упоминаний о классе.
Я пишу статические константы типа номер версии проэкта в отдельном файле, в котором нет и упоминания о классе.
Я пишу переменные инициализаторы вне тела класса-синглтона чтобы сделать их недоступными другим классам.
Я пишу служебные прокси классы вне тела класса - их просто больше негде писать =)
Я пишу дополнительные служебные классы вне тела класса если не могу наследовать 1 класс от двух разных, а очень нужно =)
И все это ООП!

Дерут, простите... это что-то из зоологии =)
Я с таким же успехом могу и в прототипе его удалить переназначить, и ничто мне не помешает использовать все тот же ASSetPropFlags для этого =)
__________________
Hell is the possibility of sanity

Старый 30.06.2008, 01:26
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 344  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Создание нескольких классов в одном файле, вы называете "пишу вне тела класса". Я могу задать вам такой же тупой вопрос. Попробуйте из вспомогательного класса, получить доступ в тело главного класса (причем к паблик, интернал свойствам, а не приват). Так вы никогда такого не зделаете без создания экземпляров классов. В AS1 - также.
По поводу вашего поста, могу лишь отослать к своему посту - #333
Цитата:
И все это ООП!
Значит в AS1 - не ООП? Логично.
Что вы мне пытаетесь доказать... Я сам сижу на AS3... что ООП AS3 лучше? - я итак это знаю...
__________________
видеоигры - высший вид искусства


Последний раз редактировалось riden; 30.06.2008 в 01:30.
Старый 30.06.2008, 01:31
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 345  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
ад кромешный. от терминогогии "локальная фцнкция" или "приватный метод" суть не меняется. наружу видно только то, что ты хочешь дать. при чом тут ASSetPropFlags??? при чем тут метаязыки?
от того что кто-то в своё время недоучил ас1 он хуже не становится... всё то же и про ас3...
__________________
Breakcore them all!

Старый 30.06.2008, 01:39
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 346  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Цитата:
var c = new Class1();
c.pMetA = function(){trace("doing some funn stuff here")};
c.pMetA();
Вы не создали метод у класса, а создали у объекта. При чем тут этот бред?
Цитата:
Я с таким же успехом могу и в прототипе его удалить переназначить, и ничто мне не помешает использовать все тот же ASSetPropFlags для этого =)
Использование ASSetPropFlags? - на здаровье. Только зачем ломать атрибуты некой библиотеки. Скажем некого фреймворка? Вы станите переписывать библиотеку на АС3 меняя set на get и пр. издевательства?
И здесь тоже самое.


Последний раз редактировалось riden; 30.06.2008 в 06:04.
Старый 30.06.2008, 01:41
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 347  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Создание нескольких классов в одном файле, вы называете "пишу вне тела класса". Я могу задать вам такой же тупой вопрос. Попробуйте из вспомогательного класса, получить доступ в тело главного класса (причем к паблик, интернал свойствам, а не приват). Так вы никогда такого не зделаете без создания экземпляров классов. В AS1 - также.
>> А разве я утверждал, что это возможно? - нигде и ни разу =)
В АС1 даже аналога нет - не знаю с чем вы сравниваете =)


Значит в AS1 - не ООП? Логично.
>> Нет, не логично, я еще раз вам напоминаю, я ни единого слова не сказал про ООП в АС1 - это ваши фантазии =)

Что вы мне пытаетесь доказать... Я сам сижу на AS3... что ООП AS3 лучше? - я итак это знаю...
>> Я вам пытаюсь доказать, что приватных свойств в АС1 не существует. Вы уверенно уходите от признания этого факта =)

Код:
function Foo() {
	this.testMethod = function() {
		trace("Kiddin me, rrrrright?");
	}
	this.toString = function() {
		return "[Foo]";
	}
}
Foo = function () {
	this.testMethod = function() {
		trace("Me cool :)");
	}
	this.toString = function() {
		return "[Not Foo]";
	}
}
var f = new Foo();
f.testMethod();
Вот, пожалуйста =) и нет больше такого метода =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 30.06.2008 в 02:05.
Старый 30.06.2008, 01:47
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 348  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 KidsKilla:
Цитата:
при чом тут ASSetPropFlags???
Да не причем... Я как то не прасек, что wvxvw не в тему тупо создал новый метод в объекте с названием приватного.
Но если бы он так сделал с паблик методом... То есть реально бы совершил переопределение ( а он это и хотел показать) - тогда, можно посоветовать только ASSetPropFlags.
__________________
видеоигры - высший вид искусства

Старый 30.06.2008, 01:51
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 349  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Цитата:
Я вам пытаюсь доказать, что приватных свойств в АС1 не существует. Вы уверенно уходите от признания этого факта =)
2 wvxvw:
Цитата:
Сообщение от riden
#316 - чем метод pMetA() не приватный?
Получите доступ к pMetA не из тела родного класса, а потом утверждайте подобную чушь
Кстати то, а вы сами понимаете смысл атрибута private в AS3?
ОФФТОП/: у меня сто сообшений, с 50 с чем-то нафлудил за день практически/ОФФТОП
__________________
видеоигры - высший вид искусства


Последний раз редактировалось riden; 30.06.2008 в 01:54.
Старый 30.06.2008, 01:54
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 350  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от riden Посмотреть сообщение
2 KidsKilla:

Да не причем... Я как то не прасек, что wvxvw не в тему тупо создал новый метод в объекте с названием приватного.
Но если бы он так сделал с паблик методом... То есть реально бы совершил переопределение ( а он это и хотел показать) - тогда, можно посоветовать только ASSetPropFlags.
да я не к тебе, а в воздух -- кто его затронул и зачем, не понятно...

wvxvw, "Я вам пытаюсь доказать, что приватных свойств в АС1 не существует." попробуйте доказать что земля квадратная. тоже нормальное занятие...
__________________
Breakcore them all!

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.