Лекарство от графоманства
chum
дневник заведен 20-11-2003
постоянные читатели [50]
chum, Cinik, croix, d-r Hogart, dvoe, Elenor, elpis, eroticplanet, Fantasy and Sci-fi, FoXXy_Cat, HippieL, House MD, Hydralisk, IronFist, Journalists_spb, lifelover, muse_ru, Mystify, Overlord, Paint It Black, PAXMET, pomponaz, RedLine Graphics, Strannik-ex, Sydnia, The House Of Rock, Thunder, TimeLine Flash, trogvar, Unatine, uzus, Wade, АгроФерзь, Букля_, В кедах по снегу, Винченсо, Джей, ети, КАТАСТРОФКА, киля, Клуб КИНОпередвижка, Клуб меломанов, Морбид, Муза_на_полставки, Настоящее, Нет - ПАРАД УРОДОВ, ПАРАД УРОДОВ, расСвет(ка), Риска, Сидня
закладки:
цитатник:
дневник:
местожительство:
Краснодарский край, Новороссийск, Россия, Санкт-Петербург
интересы [48]
спорт, психология, музыка, море, книги, литература, Nightwish, Muse, буддизм, Prodigy, электронная музыка, demoscene, волейбол, демосцена, искусство, путешествия, сказки, философия, Умберто Эко, Ричард Бах, история, delerium, Пауло Коэльо, Ремарк, природа, мифология, этническая музыка, System of a Down, Борхес, творчество, Гессе, Информатика, Религия, биология, индия, экология, Кастанеда, легкая атлетика, Уильям Гибсон, суфизм, Future Sound of London, притчи, flashmob, флэшмоб, Serart, этнопедагогика, ascii-art, Fluke
05-11-2004 18:48 ООП
От "оверрайдов" и "оверлоадов" голова идет кругом. Говорил же мне друг, что без наследования проще будет, а я подумал, что с наследованием кода меньше будет, ну и моя ленивая натура сделала выбор Теперь сражаюсь с виртуальными методами
Комментарии:
06-11-2004 01:51
блохастый флудер
и, пожалуйста, маленькую "расшифровочку" к этому посту - для русскоговорящей части нашей необъятной!
06-11-2004 02:01
социальное явление
да, и мне можно тоже))))
08-11-2004 21:14
а почему бы и нет?
оверрайд - это когда метод потомка перекрывает метод предка,
а оверлоад - когда метод потомка перегружает метод предка,
ООП - объектно ориентированное программирование
В итоге все получилось
09-11-2004 04:24
блохастый флудер
адмлилуя, админь!
09-11-2004 05:38
а почему бы и нет?
ети
Блин, я же не прошу тебя объяснить все тонкости гражданского процесса, а так в двух словах...
А если тебе совсем уж интересно, то ООП - это такая методология программирования, в которой предметная область программируемой задачи представляется в виде объектов и отношений между ними (т.н. ER-модель (сущность-связь)). Объекты - это экземпляры классов, а классы, сосатвляющие т.н. иерархию классов это логическое представление реальных физических тел, процессов и т.п. рассматриваемых в данной конкретной задаче. Классы представляют собой контейнер (а точнее абстрактный тип данных, определяемый программером) данных и средств обработки этих данных (т.н. инкапсуляция - одно из 3х основополагающих понятий ООП). Так вот эти самые классы можно наследовать(2е осн. понятие ООП) один от другого(или от нескольких). Наследование и помогает сократить код(не всегда) и самое его главное достоинство - повторное использование кода. Пример. У тя есть класс "Средство передвижения" - абстракный базовый класс. Т.е. он не содержит реалиации, а только описание общее для всех средств передвижения: колесная формула, тип кузова, вид коробки передач и методы, например переключить передачу, завести тачку и заглушить. Так вот Ты от этога класса наследуешь два других класс "Родстер" и кдасс "Офигенно большой грузовик типа Камаз". В этих двух классах будут общие поля вид коробки и т.д. унаследованные от предка "Средство передвижения" и добавятся какие-нибудь свои, специфические, например поле логического типа "ЕСть ли блок впрыска закиси азота" для класса "Родстер" и "Грузоподьемность" для класса "... типа Камаз". Далее, методы в абстрактном базовом классе - виртуальные; это-то и значит, что они не имеют реализации в этом классе, а должны переопределяться в классах предках (а это уже называется полиморфизм - третье основополагающее понятие ООП). Итак имеем в классе предке виртуальный метод(метод - это название функции в ООП) "Переключить передачу" и два невиртуальных "завести.." и "заглушить". Что я хочу сказать, а вот что, для разных тачек операции завестись и заглушить, в принципе, за некоторыми исключениями идентичны и их можно описать один раз в классе предке, а потом наследовать в потомках (это-то и есть повторное использование кода) и не писать по 20 раз одно и тл же. А операция переключить передачу для разных тачек может быть выполнена по-разному. Например, если я не ошибаюсь, у грузовиков нет "пятой", но даже если я и ошибаюсь, ты уже понял к чему я клоню. Ну и там различия в автомат-механика. Так вот этот метод надо в потомках переопределять(перегружать). А оверрайд и оверлоад - это конкретная реализация этих идей в конкретном языке. А теперь дезидератум: ты должен это все прочитать и усвоить, а также быть способным ответить на вопрос чем отличается позднее связывание от раннего (это к полиморфизму довесок) ибо все это я писал в полудреме около шести утра(точнее сам смтрри в заголовке коммента), чтобы удовлетворить твое любопытство (а его я уважаю и всячески стараюсь подстегивать) и чтобы ты не думал, что я от тебя отмахнулся предыдущим пространным комментом. И на последок, когда задаешь вопрос думай, а действительно ли ты хочешь услышать на него ответ, особенно, если задаешь его программеру

Сатори
Надеюсь тебя мое объяснение также удовлетворило, если нет, то либо звиняйте, либо продолжайте спрашивать дальше(к ети это тоже отоносится), с удовольствием отвечу
09-11-2004 15:40
блохастый флудер
ээээ..эээ... *сидит и оглядывается вокруг
пожалуй, лишь эти строки: "И на последок, когда задаешь вопрос думай, а действительно ли ты хочешь услышать на него ответ, особенно, если задаешь его программеру" - были действительно адресованы мне
09-11-2004 17:28
социальное явление
Я воздержусь от вопросов
15-11-2004 13:38
а почему бы и нет?
Считаем тему закрытой
Закрыть