Конференция "Прочее" » Задачи на ООП
 
  • K-1000 © (22.05.17 11:04) [0]
    Хочу попрактиковаться проверить себя, нужны нетривиальные задачи на ООП на Delphi.
  • ухты © (22.05.17 11:28) [1]
    Задачи на ООП решаются с помощью теорем и аксиом на ООП.
  • Pavia © (22.05.17 11:33) [2]
    Текстовый редактор с раскраской кода.
    Векторный редактор с разными примитивами.
    Гоночки с тюнингом автомобиля.
    Тренажёр(имитатор) Линукса или сетевого администратора.
  • K-1000 © (22.05.17 11:55) [3]
    Мне б больше конкретики в заданиях. )
  • Юрий Зотов © (22.05.17 11:59) [4]
    Написать визуальный просмотрщик файлов любого типа.
  • Pavia © (22.05.17 12:00) [5]
    Есть квадрат, круг, прямоугольник и квадрат со скруглёнными углами. Кого от кого следует наследовать?
  • K-1000 © (22.05.17 13:02) [6]

    > Pavia ©   (22.05.17 12:00) [5]
    > Есть квадрат, круг, прямоугольник и квадрат со скруглёнными
    > углами. Кого от кого следует наследовать?


    1. Всех от TShape. (Ну не тот что в VCL ессесно)
    2. Квадрат от Прямоугольника.
  • Тимохов Дима © (22.05.17 13:51) [7]

    > K-1000 ©   (22.05.17 11:04) 
    > Хочу попрактиковаться проверить себя, нужны нетривиальные
    > задачи на ООП на Delphi.

    GoF прочел?
    https://en.wikipedia.org/wiki/Design_Patterns

    Я к тому, что имхо крайне сложно придумать из головы задачи.
    Тут, скорее, надо хорошо знать примеры.
    Плюс, думать об этом много. Ибо, имхо, ООП нельзя эффективно использовать, если много об этом не думал)))

    Если сейчас старшие товарищи, скажут, что всякая философия - ерунда, а есть только инкапсуляция, наследование и полиформизм, то предлагаю им в одном абзаце описать различие Стратегии и Состояния (технически оба паттерна зачастую реализуются, если не идентично, то крайне близко).
  • Pavia © (22.05.17 14:14) [8]

    > одном абзаце описать различие Стратегии и Состояния

    Просто отличие в интерфейсе. В Delphi состояния реализуются на proprty, а стратегия на методах Function.
  • Юрий Зотов © (22.05.17 15:10) [9]
    > K-1000 ©   (22.05.17 13:02) [6]

    > Квадрат от Прямоугольника.


    Тогда у Квадрата появляется неиспользуемое поле.

    А чем Вам [4] не нравится? Вы же хотели нетривиальную задачу - так вот она и есть. Притом и не слишком сложная.

    Расширяемая и гибкая архитектура. Регистрация плагинов и фабрика классов. Интерфейсы и наследование - все это придется использовать. Чем не ООП в полный рост?
  • ухты © (22.05.17 15:15) [10]

    > А чем Вам [4] не нравится?
    где там ООП, кейс и всех дел.
  • Юрий Зотов © (22.05.17 15:25) [11]
    > ухты ©   (22.05.17 15:15) [10]

    > кейс и всех дел.


    Самое "пионерское" решение. Понадобилось добавить новый просмотрщик или изменить старый - и вперед, переделывать и перекомпилировать.
  • Kerk © (22.05.17 15:35) [12]
    Напиши игру типа пакмана.
  • ухты © (22.05.17 17:24) [13]

    > новый просмотрщик или изменить старый - и вперед, переделывать
    > и перекомпилировать.
    а как без перекомпиливания у вас без кейса но с ООП? ))
  • Юрий Зотов © (22.05.17 17:49) [14]
    > ухты ©   (22.05.17 17:24) [13]

    Не хотелось бы описывать всю архитектуру подробно, пусть ТС сам подумает (иначе что же это за задачка получится?). Но в двух словах подскажу.

    > а как без перекомпиливания
    Плагины.

    > без кейса но с ООП
    Фабрика классов.
  • Игорь Шевченко © (22.05.17 17:52) [15]

    > а как без перекомпиливания у вас без кейса но с ООП? ))


    А как в Delphi новые компоненты устаналиваются ?
  • ухты © (22.05.17 17:58) [16]
    Какое отношение плагины/адоны/расширения/.. имеют к "Задачи на ООП"?
  • ухты © (22.05.17 17:59) [17]

    > Не хотелось бы описывать всю архитектуру подробно
    там все в одно предложение помещвется )
  • Юрий Зотов © (22.05.17 18:05) [18]
    > ухты ©   (22.05.17 17:58) [16]

    > Какое отношение плагины/адоны/расширения/.. имеют к "Задачи на ООП"?

    Наследование. Интерфейсы.

    > там все в одно предложение помещвется

    Ну так и напишите это предложение.
  • Kerk © (22.05.17 19:03) [19]
    Пакман интереснее и разностороннее :)
 
Конференция "Прочее" » Задачи на ООП
Есть новые Нет новых   [118663   +28][b:0][p:0.001]