![]() |
|
|
![]()
|
|
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
Помогите придумать задание для практике. Требуется дать человеку представление о RAD в лице BDS2006, а так-же продемонстрировать в действии принципы ООП. Но при этом реализация должна быть оч. простой, в плане используемых технологий и алгоритмов.
заранее спасибо |
|||
|
||||
| m0ro |
|
|||
|
Опытный ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 800 Регистрация: 19.5.2007 Репутация: нет Всего: 68 |
1. Создать приложение, в котором есть несклько элементов управления. Их взаимодействие меняет свойства других (типа щелчок по кнопке меняет цвет формы).
2. Динамически посоздавать компоненты в рантайме. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
чет я ООП в задаче предложенной m0ro особо не вижу.... всмысле "полезности для изучения" ессно.
Ну продемонстрируйте ООП... Например классы (-> обозначает наследование): IValidator - класс абстрактный содержащий validate() - для проверки данных юзеров (напр. заполненности) IValidator->User User->AdvancedUser (добавляется поле какое-нибудь) User->SimpleUser (тож че-нить добавлется) SimpleUser+AdvancedUser -> GodUser (ну типа самый крутой - стркутура наследования типа "ромб") IValidator->UserGroup (содержит массив User*) , соотв. заполняется с формы, на которой выбирается "тип Юзера" GrupList -- содержит список UserGroup-ов. +накрутить своих исключений при вызове validate() чтобы выбрасывалсь.... +перегрузка методов operator[](int i) - получение констунтных ссылок на юзеров (а может и не ссылок...) и operator[](int i) operator[](char*) Для юзеров -- получения их свойств по имени и по индексу... везде перегрузить operator=,конструкторы копий. Ну и вывод всего этого дела на компоненты (например в TreeView)... Предусмотреть возможности редактирования групп\юзеров (понадобится динамически добавлять компоненты как раз - для ввода\вывода дополнительных полей в соотв. с типом юзеров). +чтение\запись всего барахла из\в файл (например XML -- использование XML компонент). +можно добавить флаг "плохой\хороший" юзер и плохих выводить иным цветом )) вместо лист можно сделать вмещающий класс - перегрузка new\delete например..... да МНОГО чего можно придумать.. вплоть до умных указателей - ООП же надопоказать.. а ооп - это наследование, полиморфизм и инкапсуляция ) Это сообщение отредактировал(а) jonie - 4.7.2007, 22:42 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
Это всё конечно хорошо, но не то. Я думал, к примеру, что - то в роде программы для рисования сделать - чтобы можно было работать через базовый класс сразными объектами, + STL использовать, но там RAD практически не используется, а множественное наследование, сериализация в XML, смарт поинтеры - это слишком сложно. Представьте себе, что написал человек в жизни 2 программы - блокнот и калькулятор.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |