Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизЧто прочитать про ООП? Найти похожие ветки
← →
iwan (2008-02-08 10:40) [0]Хочу найти хороший материал про ООП в delphi, начал читать Кэнту М. Delphi 7 для профессионалов; но на самом деле там в разделе про ооп - ерунда: ну да объясняют базовые принципы - наследование и т.д., я их и так знал.
Но никакого хорошего описания, например в каком случае применяют dynamic а где virtual - нет. Идеально так хотелось бы вообще с примерами проектирования классов, сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс.
Что порекомендуете?
← →
Anatoly Podgoretsky © (2008-02-08 10:43) [1]> iwan (08.02.2008 10:40:00) [0]
Это уже справочник нужен, а он в Дельфи называется справка.
← →
Palladin © (2008-02-08 10:51) [2]
> Но никакого хорошего описания, например в каком случае применяют
> dynamic а где virtual - нет. Идеально так хотелось бы вообще
> с примерами проектирования классов, сложные какие-то примеры
> где и как лучше сделать то и сё, спроектировать класс.
ну выборе между dynamic или virtual к теории ООП и ООА никакого отношения не имеет, но автоответчик мне подсказывает:
Гради Буч, ООА и ООП
← →
Sandman25 (2008-02-08 10:54) [3]сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс
Для этого вообще лучше изучить паттерны проектирования.
← →
Игорь Шевченко © (2008-02-08 10:59) [4]Конопку можно почитать. Рэя.
← →
Семеныч (2008-02-08 12:18) [5]> iwan (08.02.08 10:40)
Если общие принципы ООП ("наследование и т.д.") уже известны, то читать общие книжки по ООП (Буч и пр.), соответственно, уже не нужно. Нужно читать не про ООП "вообще", а про ту или иную конкретную реализацию объектой модели.
И если интересует конкретная реализацию объектой модели в Delphi ("в каком случае применяют dynamic а где virtual"), то книга Рэя Конопки - лучший вариант.
Во всяком случае, насчет "примеров проектирования классов, сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс" после усвоения этой книги проблем не будет.
← →
Palladin © (2008-02-08 12:24) [6]
> Если общие принципы ООП ("наследование и т.д.") уже известны,
> то читать общие книжки по ООП (Буч и пр.), соответственно,
> уже не нужно.
да ну что вы говорите... Буч конечно так... мелкую брошюрку в 10 страниц написал про "наследование и тд"... он не об общих принципах пишет если что...
← →
ketmar © (2008-02-08 12:26) [7]>[6] Palladin © (2008-02-08 12:24:00)
не нужно, не нужно. моск возрвётся.
---
Understanding is not required. Only obedience.
← →
Семеныч (2008-02-08 12:46) [8]> Palladin © (08.02.08 12:24) [6]
И у Буча можно найти ответ на вопрос "в каком случае применяют dynamic а где virtual"?
:о)
Я не нашел. Может, плохо искал - но не нашел. Да и трудно предположить, что Буч вообще рассматривает динамические методы, поскольку они характерны именно (если не исключительно) для Delphi-модели ООП. Зато Буч рассматривает некоторые вещи, которых в Delphi как раз нет (например, дружественные классы - friend).
А ведь человек именно о Delphi-модели и спрашивал...
← →
ketmar © (2008-02-08 12:54) [9]>[8] Семеныч (2008-02-08 12:46:00)
а мы тебе намекаем, что «эксперт по запорожцу дяди Вани» — ноль.
---
Understanding is not required. Only obedience.
← →
Anatoly Podgoretsky © (2008-02-08 12:57) [10]> Семеныч (08.02.2008 12:46:08) [8]
Вот из справки и этого достаточно
Virtual versus dynamic
Virtual and dynamic methods are semantically equivalent. They differ only in the implementation of method-call dispatching at runtime. Virtual methods optimize for speed, while dynamic methods optimize for code size.
In general, virtual methods are the most efficient way to implement polymorphic behavior. Dynamic methods are useful when a base class declares many overridable methods which are inherited by many descendant classes in an application, but only occasionally overridden.
Note
Only use dynamic methods if there is a clear, observable benefit. Generally, use virtual methods.Virtual versus dynamic
← →
Palladin © (2008-02-08 13:18) [11]
> И у Буча можно найти ответ на вопрос "в каком случае применяют
> dynamic а где virtual"?
я не говорил, что это можно у него найти
> Зато Буч рассматривает некоторые вещи, которых в Delphi
> как раз нет (например, дружественные классы - friend).
в Delphi любые два класса расположенные в одном модуле являются даже более чем дружественными
Человек спрашивал
> Идеально так хотелось бы вообще с примерами проектирования классов, сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс.
Идеальным ответом на это является Буч, он учит именно проектировать классы их диаграммы, разрабатывать статические и динамические модели приложения, а не тому что такое "наследование и тд" и кстати рассматривает больше тонкие связи между классами чем "три кита". Учит документированию проекта (нотация Буча мне кстати больше нравится чем UML). Человеку постигшему сей толмут уже и паттерны не страшны, он к ним готов. Человеку постигшему сей толмут уже и монопенисуально есть ли в Делфи дружественные классы или нет. Он будет уметь проектировать исходя из ограничений среды разработки.
← →
Palladin © (2008-02-08 13:21) [12]Человек может знать что такое "наследование и тд", вот только басня товарища Крылова "Мартышка и очки" будет сценарием к спектаклю "Разработка программы"
← →
ketmar © (2008-02-08 13:28) [13]>[11] Palladin © (2008-02-08 13:18:00)
>толмут
талмуд. %-)
---
Understanding is not required. Only obedience.
← →
Palladin © (2008-02-08 13:30) [14]
StringReplace([11],"толмут","талмуд",[rfReplaceAll,rfIgnoreCase]);
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c