Цитата:
Сообщение от chingachgoog
Инкапсуляция - это всего лишь механизм образования "черного ящика". Да, приват создан для усиления инкапсуляции, но сам по себе инкапсуляцию не обеспечивает.
|
А что обеспечивает инкапсуляцию, хотелось бы услышать.
Цитата:
Сообщение от chingachgoog
А так как вы отказываетесь говорить
|
Я вами треплюсь уже 400 с лишним ответов в этой теме и я после этого отказываюсь? Если бы я отказывался, я бы тут вообще ни поста не оставил.
Цитата:
Сообщение от chingachgoog
какие вы видите цели в привате
|
Инкапсуляция, инкапсуляция, инкапсуляция, черт вас возьми, сколько можно? Я понимаю, что мыслить проектами до 2 килострок какой-то там инкапсуляцией и полиморфизм с наследованием сложно, да. Ой, как я вас понимаю.
Цитата:
Сообщение от chingachgoog
(явно не 3-й)
|
С потолка взяли?
Цитата:
Сообщение от chingachgoog
Ну так ДОЛЖЕН язык ООП иметь зарезервированное слово private? Простой вопрос: да или нет? (то же самое к словам class, interface)
|
Да хоть назовите «коробочка», смысл от этого не меняется, не обеспечивает AS1 инкапсуляции, вам её самому надо реализовывать, с кучей недостатков. Вы придираетесь к самому наличию/отсутствию кейворда «private», а не к сути такого понятия, как приватность. Не реализована эта
инкапсуляция на уровне языка в AS1, никаким образом, ни кейвордом, никак, вы это сами подтвердили высказыванием о том, что её можно легко реализовать. То, что у меня есть четыре колеса, вовсе не означает, что их можно назвать автомобилем. Вы из подручных средств пытаетесь собрать этот самый автомобиль, чтобы попытаться на нем поехать и при этом, всю эту кучу хлама, из которого собираетесь сделать автомобиль (не зная вообще, поедет ли он), уже называете это автомобилем.
Цитата:
Сообщение от chingachgoog
Что значит САМОМУ?
|
Что значит? Наследование как реализовали? Через очень интересное свойство __proto__, очень документированное, руками. Не простым кейвордом extends без плясок, а аж пять строчек. Инкапсуляция как реализована? Последние страниц десять с горем пополам что-то сделали, и то, такой вариант не живет с наследованием, не говоря уже о забиванием памяти одинаковыми методами, которые даже экземпляру класса не принадлежат.
Цитата:
Сообщение от chingachgoog
Есть синтаксические конструкции языка или нет, которые позволяют это делать? Есть.
|
Какие? extends — нету. private — нету. Интерфейсы? А что это такое? Ничего этого нет, вы для себя это придумываете, в мозгу, мол, вот такие методы вызывать нельзя, а эти переменны трогать тоже. Язык вам тут не поможет, он не умеет сам по себе такие вещи делать.
Цитата:
Сообщение от chingachgoog
А как можно судить об AS1 как языке ООП с точки зрения AS3?
|
Цитата:
Сообщение от chingachgoog
Потомучто нужно смотреть с точки зрения общей парадигмы ООП.
|
С точки зрения ООП как раз таки, а не AS3. AS3 взят в качестве примера, если хотите, можно взять в качестве примера Java или C#, не принципиально.
Цитата:
Сообщение от chingachgoog
Не хотите тогда посмотреть на AS3 с точки зрения AS1 и обозвать хаками interface?
|
В AS1 нет полиморфизма, он просто настолько далек от этого, что просто не знает в принципе, что это такое.
Цитата:
Сообщение от chingachgoog
 Код:
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, переписанный под AS1? Где публичное свойство angle у экземпляра класса? Где работа приватного метода с ним? Где наследование свойства? Не вижу. Я вижу две функции, одна вызывает другую и молча возвращает посчитанное значение на основе аргумента. Никакой работы с экземпляром класса, гениально просто.
Я вас прошу написать точный аналог моего кода, который описывает все три принципа ООП в двух классах + интерфейс. Интерфейс и полиморфизм, вы, конечно, показать не сможете, ибо ни того, ни другого нет в AS1 и реализовать их собственными силами вам не удастся, покажите хотя бы код, являющийся
точной копией моему, но на AS1. Т. е. те же свойства, приватность, методы, переопределение и т. д.
Цитата:
Сообщение от chingachgoog
А где вы ДАЛЬШЕ сказали, что iNils ошибся? Надо думать забыли?
|
Вы меня объявили в некомпетентности, не удосужовшись прочитать дальнейший текст, каким тут боком iNils? Вы не прочитали текст до конца, потом тут же пишете тоже самое и говорите, что я что-то не понимаю? Оригинально.
Цитата:
Сообщение от chingachgoog
Ну значит вам не надо 
А мне надо и интересно.
|
Вот именно, что вам интересно. Вам нравится реализовывать ООП на коленке, это уже и так понятно.