|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
||||||
Применение принципов ООП на практике (мнение о приведенном коде)02.04.2013, 14:52. Показов 1981. Ответов 4
Метки нет (Все метки)
для ленивых: 1й абзац можно пропустить )
В силу обстоятельств я начал работать, изучать программирование и писать программу (по квесту на работе) одновременно. Товарищи коллеги, во всяком случае некоторые из них, пытались мне помогать и подучивать по мере возможностей хотя они и сами не программисты по профессии (один весьма не плохой php фрилансер, другой начинающий delphi кодер). Мне показали что есть такая удобная штука как класс и попытались объяснить как им пользоваться, но увы тогда для меня это было как для мартышки очки и я использовал только конструктор класса и считал что это круто. В данный момент я, во всяком случае мне так кажется, познал истинную ценность классов и научился с ними работать, но все же просматривая код написанный мною ранее мне плакать хочется. Это был бы не я, если бы не попытался исправить свои ошибки, тем более что это мне с ними мучатся)). Подойдем к сути проблемы. В разработке прикладных программ у меня на работе, на сколько я знаю, никто нормально не шарит, поэтому и пишу сюда. Идея состоит в следующем: есть несколько типов таблиц (в данный момент 3, но кто знает сколько их будет завтра ) поэтому я решил создать класс "Tables" который их бы описывал и либо перегрузить конструктор класса либо использовать функции для создания различных типов таблиц. Предполагается что таблицы размещаются в различных вкладках в основном окне программы (в одной вкладке n таблиц одного типа) для чего я создал класс "Page", являющийся производным от класса "Tables". Но так как опыта в разработке программ у меня практически 0, да и с наследованием и иерархией классов я познакомился буквально пару дней назад я весьма не уверен в правильности подхода, а так как еще и подсказать некому то это вообще пи.... в общем северный пушистый зверек. Хотелось бы узнать авторитетное мнение более опытных программистов и услышать их критику. Ниже привел наброски того как, по моему мнению, должна быть решена эта задача. Заранее спасибо.
0
|
||||||
| 02.04.2013, 14:52 | |
|
Ответы с готовыми решениями:
4
Применение SOLID принципов Объяснение принципов ООП Реализация принципов ООП на примере |
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 02.04.2013, 16:52 [ТС] | |
|
2 типа таблиц заполняются данными из прибора, соединенного с ЭВМ через RS-232 (т.е. в одну вкладку в 2 необходимо отображать что-то вроде лога обмена данными с прибором а в другую выводить значения параметров) и один тип таблиц для редактирования (добавлять/убирать параметры и т.п.).
Добавлено через 1 минуту для чтения/записи через RS использую поток и написанный мною класс Добавлено через 2 минуты ЗЫ все-таки решил использовать перегрузку конструктора имхо это, на мой взгляд, наиболее оптимальный вариант
0
|
|
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|||
| 02.04.2013, 16:58 | |||
|
0
|
|||
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 02.04.2013, 17:22 [ТС] | |
|
правильно, я хотел в классе "Рage" хранить контейнер указателей или ссылок на класс таблиц. но я уже догнал что у меня, в приведенном примере, наследование неправильное. Полагаю в данной ситуации необходимо создать абстрактный класс, связывающий класс таблицы и вкладки
0
|
|
| 02.04.2013, 17:22 | |
|
Помогаю со студенческими работами здесь
5
Написать программу с использованием принципов ООП Нужна идея по реализации принципов ООП Написать программу с использованием 3 принципов ООП
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|