-
Хочу попрактиковаться проверить себя, нужны нетривиальные задачи на ООП на Delphi.
-
Задачи на ООП решаются с помощью теорем и аксиом на ООП.
-
Текстовый редактор с раскраской кода.
Векторный редактор с разными примитивами.
Гоночки с тюнингом автомобиля.
Тренажёр(имитатор) Линукса или сетевого администратора.
-
Мне б больше конкретики в заданиях. )
-
Написать визуальный просмотрщик файлов любого типа.
-
Есть квадрат, круг, прямоугольник и квадрат со скруглёнными углами. Кого от кого следует наследовать?
-
> Pavia © (22.05.17 12:00) [5]
> Есть квадрат, круг, прямоугольник и квадрат со скруглёнными
> углами. Кого от кого следует наследовать?
1. Всех от TShape. (Ну не тот что в VCL ессесно)
2. Квадрат от Прямоугольника.
-
> K-1000 © (22.05.17 11:04)
> Хочу попрактиковаться проверить себя, нужны нетривиальные
> задачи на ООП на Delphi.
GoF прочел?
https://en.wikipedia.org/wiki/Design_PatternsЯ к тому, что имхо крайне сложно придумать из головы задачи.
Тут, скорее, надо хорошо знать примеры.
Плюс, думать об этом много. Ибо, имхо, ООП нельзя эффективно использовать, если много об этом не думал)))
Если сейчас старшие товарищи, скажут, что всякая философия - ерунда, а есть только инкапсуляция, наследование и полиформизм, то предлагаю им в одном абзаце описать различие Стратегии и Состояния (технически оба паттерна зачастую реализуются, если не идентично, то крайне близко).
-
> одном абзаце описать различие Стратегии и Состояния
Просто отличие в интерфейсе. В Delphi состояния реализуются на proprty, а стратегия на методах Function.
-
> K-1000 © (22.05.17 13:02) [6]
> Квадрат от Прямоугольника.
Тогда у Квадрата появляется неиспользуемое поле.
А чем Вам [4] не нравится? Вы же хотели нетривиальную задачу - так вот она и есть. Притом и не слишком сложная.
Расширяемая и гибкая архитектура. Регистрация плагинов и фабрика классов. Интерфейсы и наследование - все это придется использовать. Чем не ООП в полный рост?
-
> А чем Вам [4] не нравится?
где там ООП, кейс и всех дел.
-
> ухты © (22.05.17 15:15) [10]
> кейс и всех дел.
Самое "пионерское" решение. Понадобилось добавить новый просмотрщик или изменить старый - и вперед, переделывать и перекомпилировать.
-
Напиши игру типа пакмана.
-
> новый просмотрщик или изменить старый - и вперед, переделывать
> и перекомпилировать.
а как без перекомпиливания у вас без кейса но с ООП? ))
-
> ухты © (22.05.17 17:24) [13]
Не хотелось бы описывать всю архитектуру подробно, пусть ТС сам подумает (иначе что же это за задачка получится?). Но в двух словах подскажу.
> а как без перекомпиливания
Плагины.
> без кейса но с ООП
Фабрика классов.
-
> а как без перекомпиливания у вас без кейса но с ООП? ))
А как в Delphi новые компоненты устаналиваются ?
-
Какое отношение плагины/адоны/расширения/.. имеют к "Задачи на ООП"?
-
> Не хотелось бы описывать всю архитектуру подробно
там все в одно предложение помещвется )
-
> ухты © (22.05.17 17:58) [16]
> Какое отношение плагины/адоны/расширения/.. имеют к "Задачи на ООП"?
Наследование. Интерфейсы.
> там все в одно предложение помещвется
Ну так и напишите это предложение.
-
Пакман интереснее и разностороннее :)