Показать сообщение отдельно
Старый 01.07.2008, 22:50
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 419  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от __etc Посмотреть сообщение
Приват и создан для инкапсуляции. Конечно, вы можете создать для себя правила, какие методы вызывать, какие нельзя и типа у вас инкапсуляция получилась. Отлично.
Инкапсуляция - это всего лишь механизм образования "черного ящика". Да, приват создан для усиления инкапсуляции, но сам по себе инкапсуляцию не обеспечивает.
А так как вы отказываетесь говорить, какие вы видите цели в привате, то глупо утверждать, что ничего подобного нет в AS1.

Цитата:
Сообщение от __etc Посмотреть сообщение
Да откройте википедию хотя бы, насчет должен.
Ага, отлично - википелия Там, кстати AS к ООП относят (явно не 3-й)
Ну так ДОЛЖЕН язык ООП иметь зарезервированное слово private? Простой вопрос: да или нет? (то же самое к словам class, interface)

Цитата:
Сообщение от __etc Посмотреть сообщение
...я даже не говорю, что AS1 вообще не ООП, он ООП, но с приставкой «псевдо» только лишь из-за того, что это самое ООП надо самому необходимо реализовывать... А я не считаю такой язык по-настоящему объектно-ориентированным, в котором надо эту ориентированность самому реализовывать.
Что значит САМОМУ? Есть синтаксические конструкции языка или нет, которые позволяют это делать? Есть. Правда почему-то их обозвали "хаками", "костылями" и т.п. Но это только с точки зрения ООП на классах. А как можно судить об AS1 как языке ООП с точки зрения AS3? Не хотите тогда посмотреть на AS3 с точки зрения AS1 и обозвать хаками interface? Нет? Правильно. Потомучто нужно смотреть с точки зрения общей парадигмы ООП.

Цитата:
Сообщение от __etc Посмотреть сообщение
Подтвердите свои слова кодом
Код:
function Polymorph(){
}
Polymorph.prototype.getAngle=function(angle){
	trace(this.getSin(angle))
}

function Degree(){
}
Degree.prototype.getSin=function(angle){
	function convert(){
		return angle*Math.PI/180
	}
	return Math.sin(convert())
}

function Radian(){
}
Radian.prototype.getSin=function(angle){
	return Math.sin(angle)
}

obj=new Polymorph()

Polymorph.prototype.__proto__=Degree.prototype
obj.getAngle(90) // 1
obj.getAngle(Math.PI/2) // 0.0274121335920443

Polymorph.prototype.__proto__=Radian.prototype
obj.getAngle(90) // 0.893996663600558
obj.getAngle(Math.PI/2) // 1
Хотите - перепишите на AS3

Цитата:
Сообщение от __etc Посмотреть сообщение
А вы дальше моего предложения «iNils привел код, в котором нет объекта активации и код, в котором он является рутом.» вообще ничего читать не стали и сразу объявили меня в некомпетентности?
А где вы ДАЛЬШЕ сказали, что iNils ошибся? Надо думать забыли?


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

Цитата:
Сообщение от __etc Посмотреть сообщение
Программист не должен знать низкоуровневые особенности кода
Ну значит вам не надо
А мне надо и интересно.