Рейтинг:
2
Patrice T
Цитата:
Есть ли какие-то правила или руководство по тому, когда я должен создавать классы?
Технически, нет абсолютно никакого правила.
Вы можете писать код без единого класса, используя только стандартные объекты, вы можете писать код со 100% классами и все, что между ними.
Это скорее вопрос того, как вы изучаете Программирование, методы и симпатии/антипатии.
Я старомодный парень, я изучал программирование в эпоху, когда C++ не существовало. Обычно я создаю минимальные классы/объекты для своих проектов.
hbtalha
Итак, как вы справляетесь с глобальными переменными?? вы не возражаете против них?
Patrice T
Я объявляю их сверху, перед любым кодом.
Рейтинг:
1
Richard MacCutchan
Видеть Классы и объекты C++ [^несколько хороших примеров того, на чем должен основываться класс.
hbtalha
В ссылке есть несколько хороших примеров, но для полных новичков, чем я не являюсь. Он просто дает основные и самые тривиальные примеры классов, фрукты, автомобили, Myclass и т. д.
Мне нужно какое-то руководство о том, когда создавать классы, например, стоит ли создавать группу классов с некоторыми функциями, зная, что у меня будет только один экземпляр этого класса во всей программе?
Richard MacCutchan
Ну, если вы не совсем новичок, то я предполагаю, что вы знаете, когда создавать классы, а когда просто использовать вспомогательные функции.
hbtalha
Я знаю большинство случаев, когда нужно создавать классы. Но в этом случае я не уверен, что должен это делать.
Должен ли я создать класс, который будет иметь только один объект?
Richard MacCutchan
Только вы можете ответить на этот вопрос, потому что только вы знаете, что будет делать ваша программа.
hbtalha
Я знаю, что это выбор мой, чтобы сделать.
То, что я спрашиваю, касается дизайна в целом.
Когда следует группировать некоторые функции в классе?
Richard MacCutchan
Вы группируете функции в классе, когда они необходимы для работы с объектами класса. Подумайте в терминах какого класса объект является, и какие вещи ему нужны для этого делать Класс-это чертеж объекта (автомобиля, дома, банковского счета и т. д.), А функции (или, точнее, "методы") - это вещи, которые заставляют его работать (Start, Stop, AddFloor, DepositMoney и т. д.). Это этап проектирования проекта, который должен помочь вам определить, какие части поддаются классам, а какие являются всего лишь одноразовыми функциями, которые не работают с объектами.
Рейтинг:
0
Greg Utas
Наличие класса по Worker
и один для Manager
возможно, это имеет смысл, но это зависит от того, что делает ваше приложение. Обратите внимание, что они также оба являются сотрудниками, так что, возможно, они должны исходить из базы Employee
класс, который обрабатывает вещи, общие для обоих.
В более общем плане занятия обычно следуют это-а и имеет-а отношения. Работник является служащий, так что это говорит о том, что Worker
должен выводить от Employee
Как менеджеры, так и рабочие иметь зарплата, так что это говорит о том, что Employee
содержит один Salary
(может быть, просто Ан int
, но в более общем плане это означает, что Employee
имеет Salary
объект как один из его элементов данных).
Что касается ваших функций, то лучше всего разделить их на отдельные возможности: read
из файла, write
в файл, print
, sort
, select
по какому-то критерию. При таком разбиении легко связать их вместе, чтобы сделать то, что в противном случае заставило бы вас копировать и вставлять фрагменты кода из разных функций, чтобы создать еще один монолитный код.
hbtalha
Извините, что-то важное потерялось при переводе. Классный руководитель не должен представлять сотрудника. Это класс, который я хочу сгруппировать функции print, sort, read и т. д. вместе и добавить некоторые переменные.
Теперь я вижу, что то, как я написал этот вопрос, вызывает замешательство. Извиняюсь
Рейтинг:
0
KarstenK
Дизайн кода очень важен, потому что он ведет к небольшому и понятному коду. Одним из основных аспектов классов является уникальный набор задач или свойств. Итак, Рабочий и менеджер-это классы. Потратьте время, чтобы узнать основные сведения о классах и их использовании.
я рекомендую это сделать Изучите учебник по C++ Классы-это глава 8, поэтому вам понадобится некоторое время, прежде чем вы поймете ее .
чаевые:
- отдельный дисплей и файловая операция от расчетного кода
- используйте такие классы, как vector и string, потому что у них есть хорошо разработанный код, который вам понадобится.
- старайтесь работать с указателями на объекты, потому что это ускоряет выполнение
hbtalha
Я уже знаю основы о классах и их использовании, однако сайт очень хорош и окажется полезным в будущем, спасибо.
Что мне нужно, так это руководство о том, когда их создавать, например, стоит ли создавать группу классов некоторых функций, зная, что у меня будет только один экземпляр этого класса во всей программе?
KarstenK
Конечно. Дизайн класса также предназначен для разделения кода для четких, тестируемых и многократно используемых целей. ;-)
hbtalha
Я создал класс и использовал шаблон Singleton.
hbtalha
Не могли бы вы привести примеры кода, чтобы развить те советы, которые вы мне дали?