|
|
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
и чё мы там должны были увидеть, интересно? красивые квадратики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2009, 19:12:43 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
Появились вот какие соображения. Смысл введения класса "квадрат" будет в том случае, если программист сам решает, что вот резервируем объект, принадлежащий классу "квадрат", а в другом случае - классу "прямоугольник". Тогда квадрат, унаследовав от прямоугольника формулу вычисления площади, вычислит свою площадь правильно - смысл в наследовании есть. А если каким-то другим образом образуется из прямоугольников подмножество квадратов - то тут и возникают проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 16:27:34 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
Здесь есть некрасивый антипаттерн. Если фигуру класса "прямоугольник" схатили мышкой за угол и потянули в сторону, и при этом сделали её квадратом (по размерности). То что делать с её типом? Динамически сменить? Или оставить эдаким равносторонним прямоугольником? Парадокс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 18:24:40 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
mayton, 1.0 - динамически заменить на цлое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 20:09:52 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
mayton, Динамически сменить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 22:59:06 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
beluginmayton, Динамически сменить. Ты-бы такое сделал в своём проекте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 23:03:43 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
belugin, зачем? если обьект - прямоугольнит, значит это кому нибудь нужно, и равенство сторон допускаеться гляьнь мой пример выше если вещественное число без дробной части, оно динамически не приводиться к целому. тут ситуация аналогичная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 23:05:39 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
mayton, я к сожалению, не писал на языке который такое допускает, если бы работал на cecil был бы опыт, я думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 09:49:53 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, ну я рассматриваю пример как искусственный - так как с квадратом не связано какой-то мегалогики которую плохо держит прямоугольник. Если бы я работал на языке поддерживающе динамическую классификацию и задача подразумевала вестма специфическуб логику в "квадрате", то такое, наверное, было бы удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 09:54:06 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
Я не знаком с cecil, но насколько позволяют судить мои знания в области ООП, смена типа (конструирование нового объекта) на ходу - операция имеющая большие трудозатраты и со стороны разработчика и со стороны исполняющей среды. Гораздо проще на мой взгляд расширить прямоугольник функционалом равностороннего прямоугольника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 11:08:55 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 12:38:51 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
belugin, а множественное наследование? есле даный обьект нужно передавать в методы которые обрабатуют правильные треугольники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 12:52:16 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
тьфу. конечно же многоугольники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 13:03:59 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, почитайте пример с буфером по ссылке - там как раз множественное наследование есть. Так как я не в курсе как это дальше передавать, я думаю, можно было бы привести прямоугольник к правильному и в таком виде передать методу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 13:41:27 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
belugin, как привести? создать новый обьект?. а если метод должен изменить обьек переданый по ссылке?можно реализовать почти все любыми средствами(ели язык полный по тюрингу), но создания обходных путей в данном случае не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 14:34:35 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Так же как вы передавете указатель на переменную типа object в метод, который работает с Button. Если у вас где-то написано что ПравильныйМногоугольник isA МногоУгольник where всеСтороныРавны and всеУглыРавны То многоугольник автоматически становится равносторонним, когда у него все углы равны и подменяются реализации методов. Если он его изменит в рантайме то он может перестать быть правильным многоугольником. И что? Вон в js вообще можно добавлять и сносить методы по ходу дела и ничего - живут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 17:06:03 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
beluginВон в js вообще можно добавлять и сносить методы по ходу дела и ничего - живут. Поэтому, наверное и крупные проекты на js никто не пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 10:33:48 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
mayton, мне кажется, на js их не пишут из-за того, что нет окружения нормального ни для чего кроме бьраузеров. А на смолтоке, наколько я знаю, IBM много чего крупного в свое время писало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 22:29:58 |
|
||
|
Наследование(ООП). растолкуйте
|
|||
|---|---|---|---|
|
#18+
Эээ... ну, насколько я помню в Windows для административных скриптовых задач используется VB. Но в принципе, можно и скриптовать через JS. Поэтому не вижу особых трудностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 22:44:53 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35989629&tid=1344470]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
212ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 470ms |

| 0 / 0 |
