Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКогда нужно использовать ООП? Найти похожие ветки
← →
Компромисс © (2012-05-31 12:54) [120]robt (31.05.12 12:42) [119]
Если нет иерархии объектов, то согласен. Но обычно она есть...
← →
Плохиш © (2012-05-31 13:06) [121]Ужасть, как всё усложнили, и это в ответ-то на [0]
А аФФтору, просто, предлагаю написать простейший многооконный текстовый редактор без использования объектов на borland pascal 5.0 и с использованием оных на borland pascal 5.5. И сразу основы ооп будут понятны.
← →
stas © (2012-05-31 13:15) [122]robt (31.05.12 12:42) [119]
Ну, а я рассматриваю как [18] и не вижу как [18] можно решить без ООП.
можно конечно но громоздко.
← →
Kerk © (2012-05-31 13:17) [123]Внес правки в статью, по-моему лучше стало
http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
← →
Kerk © (2012-05-31 13:18) [124]Как-то однажды знаменитый учитель Кх Ан вышел на прогулку с учеником Антоном. Надеясь разговорить учителя, Антон спросил: "Учитель, слыхал я, что объекты - очень хорошая штука - правда ли это?" Кх Ан посмотрел на ученика с жалостью в глазах и ответил: "Глупый ученик! Объекты - всего лишь замыкания для бедных."
Пристыженный Антон простился с учителем и вернулся в свою комнату, горя желанием как можно скорее изучить замыкания. Он внимательно прочитал все статьи из серии "Lambda: The Ultimate", и родственные им статьи, и написал небольшой интерпретатор Scheme с объектно-ориентированной системой, основанной на замыканиях. Он многому научился, и с нетерпением ждал случая сообщить учителю о своих успехах.
Во время следующей прогулки с Кх Аном, Антон, пытаясь произвести хорошее впечатление, сказал: "Учитель, я прилежно изучил этот вопрос, и понимаю теперь, что объекты - воистину замыкания для бедных." Кх Ан в ответ ударил Антона палкой и воскликнул: "Когда же ты чему-то научишься? Замыкания - это объекты для бедных!" В эту секунду Антон обрел просветление.
← →
robt (2012-05-31 13:59) [125]
> stas © (31.05.12 13:15) [122]
а я ваще не понял чо там написано
все три объекта могут быть абсолютно разными и не наследовать другдруга
> Если нет иерархии объектов, то согласен. Но обычно она есть.
ичо меняеца если она есть
← →
stas © (2012-05-31 14:07) [126]robt (31.05.12 13:59) [125]
Это в продолжении [17] при условии что они наследники объекта1
← →
robt (2012-05-31 14:27) [127]да ничо сложного, указатели да записи
в техже винапишных функциях есть параметры записи переменного размера в зависимости от версии,что можно интерпретировать как наследование
← →
Inovet © (2012-05-31 14:39) [128]> [117] Компромисс © (31.05.12 12:06)
> На примере болезней становится заметно, чем ООП принципиально
> отличается от процедурного подхода
Процедурный кабинет не зря в стационарах делают и в поликлинниках вроде бы тоже.
← →
Компромисс © (2012-05-31 14:40) [129]
> в техже винапишных функциях есть параметры записи переменного
> размера в зависимости от версии,что можно интерпретировать
> как наследование
а винапишная функция имеет код типа
if(version==N){
...
} else if (version==M){
...
}
?
← →
ProgRAMmer Dimonych © (2012-05-31 14:49) [130]> [129] Компромисс © (31.05.12 14:40)
Зато если положить туда не длину, а адрес процедуры - вот это будет самый что ни на есть виртуальный метод. С наследованием и структурами.
← →
robt (2012-05-31 15:01) [131]
> Компромисс © (31.05.12 14:40) [129]
не по другому,"версию" определяет размер структуры записаный первым,а по смещению работаеца с полями
← →
Компромисс © (2012-05-31 15:02) [132]ProgRAMmer Dimonych © (31.05.12 14:49) [130]
> Зато если положить туда не длину, а адрес процедуры - вот
> это будет самый что ни на есть виртуальный метод. С наследованием
> и структурами.
Только вот не должен клиент передавать адрес процедуры, не его это дело. Максимум, что можно передать - это указатель на тип параметра. А адрес процедуры должен быть где-то в другом месте, например в вирутальной таблице. В итоге получим кустарный объект.
← →
Макс Черных (2012-06-01 01:49) [133]
> но объектно мы все-таки не мыслим, во всяком случае, на
> абстрактном уровне, без конкретных реализаций.
Ой да неужели. А куда девать понятие хотения "выпить и закусить", "пожрать" и т.д. Если это не есть абстракции - тогда что такое абстракции по вашему?
Человек соображает именно абстрактно. А вот разделяет эти абстрактности, естественно, по признакам, в т.ч. и по реализации. Более того, человек (да и не только) может эти признаки обобщать и проецировать на подобия (наследование объектов).
← →
oxffff © (2012-06-01 10:01) [134]Кто хочет погрузиться более, можно погуглить
про existential types, Abstract Data Type(ADT)
http://fprog.ru/2010/issue4/roman-dushkin-existentials/
http://en.wikipedia.org/wiki/Abstract_data_type
http://www.haskell.org/haskellwiki/Existential_types
← →
ProgRAMmer Dimonych © (2012-06-01 11:06) [135]> [132] Компромисс © (31.05.12 15:02)
Это если совсем по-трушному делать. Для небольших задач в качестве компромисса между процедурным и ООП - самое оно. Но вообще я больше с точки зрения того, чтобы на ассемблере такое реализовывать, подходил к вопросу. Ибо на ЯВУ делать свой ООП-велосипед - нафиг.
← →
Компромисс © (2012-06-01 11:14) [136]Макс Черных (01.06.12 01:49) [133]
> Ой да неужели. А куда девать понятие хотения "выпить и закусить",
> "пожрать" и т.д. Если это не есть абстракции - тогда что
> такое абстракции по вашему?
Обратитесь в нобелевский комитет, Вы неопровержимо доказали наличие абстракстного мышления у практически всех животных :)
> Человек соображает именно абстрактно. А вот разделяет эти
> абстрактности, естественно, по признакам, в т.ч. и по реализации.
> Более того, человек (да и не только) может эти признаки
> обобщать и проецировать на подобия (наследование объектов).
>
Человек скорее мыслит "процедурно": что делать и кто виноват? :)
Кстати, "выпить и закусить" из той же области. Никаких абстракций, только конкретика
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.75 MB
Время: 0.104 c