Вопросы с тегом «class»

11
Что такое хорошая практика проектирования, чтобы не задавать тип подкласса?

Я читал, что когда вашей программе нужно знать, к какому классу относится объект, обычно это указывает на недостаток дизайна, поэтому я хочу знать, что такое хорошая практика для этого. Я реализую класс Shape с различными подклассами, унаследованными от него, такими как Circle, Polygon или...

11
Как должен быть разработан класс «Сотрудник»?

Я пытаюсь создать программу для управления сотрудниками. Однако я не могу понять, как спроектировать Employeeкласс. Моя цель - иметь возможность создавать и управлять данными о сотрудниках в базе данных, используя Employeeобъект. Базовая реализация, о которой я подумал, была такой простой: class...

11
Вложенные классы: полезный инструмент или нарушение инкапсуляции?

Таким образом, я все еще нахожусь на заборе относительно того, должен ли я использовать это или нет. Я чувствую, что это крайнее нарушение инкапсуляции, однако я нахожу, что могу достичь некоторой степени инкапсуляции, одновременно получая большую гибкость в своем коде. В предыдущих проектах Java /...

11
Использование классов типов Haskell для обеспечения коммутативности

Я хочу определить класс типов для геометрических объектов, которые могут пересекаться вместе: class Intersect a b c | a b -> c where intersect :: a -> b -> c -- Language extensions: -XMultiParamTypeClasses, -XFunctionalDependencies Идея состоит в том, чтобы иметь функции пересечения общего...

10
Что значит вводить данные (против поведения) в конструктор класса, и почему это считается плохой практикой?

Я читаю книгу «Изучение шрифтов» Ремо Янсена. В одном разделе автор описывает, как создать очень простую платформу MVC для проверки концепции, включая создание Modelкласса, и говорит следующее: Для модели необходимо указать URL-адрес веб-службы, которую она использует. Мы собираемся использовать...

10
Абстрактные базовые классы и конструкция копирования, практические правила

Часто бывает полезно иметь абстрактный базовый класс для изоляции интерфейса объекта. Проблема в том, что конструкция копирования, IMHO, по умолчанию в C ++ в значительной степени нарушена, а конструкторы копирования генерируются по умолчанию. Итак, что за ошибки, когда у вас есть абстрактный...

10
Абстрактное свойство в базовом классе, чтобы заставить программиста определить его

Я кодирую с шаблоном состояния для встроенного устройства. У меня есть базовый / абстрактный класс, называемый State, и затем каждый дискретный (конкретный) класс состояний реализует абстрактный State State. В государственном классе у меня есть несколько абстрактных методов. Если я не реализую...

10
Какой код должен быть включен в абстрактный класс?

В последнее время меня беспокоит использование абстрактных классов. Иногда абстрактный класс создается заранее и работает как шаблон того, как будут работать производные классы. Это означает, более или менее, что они предоставляют некоторые функциональные возможности высокого уровня, но не...

10
Как разрешить взаимозависимость классов в моем коде C ++?

В моем проекте C ++ у меня есть два класса, Particleи Contact. В Particleклассе, у меня есть переменная - член std::vector<Contact> contacts, содержащий все контакты Particleобъекта, а также соответствующие функции - члены getContacts()и addContact(Contact cont). Таким образом, в «Particle.h»...

9
Почему не ограничен подклассом Enum в Haskell

Кажется, что у любого ограниченного экземпляра должна быть нормальная реализация Enum. Лично я не могу придумать контрпример, хотя, если кто-то придумает такой, который не является патологическим, я пойму, почему это не так. Из :iэтих двух классов типов кажется, что единственное исключение в...

9
Как возразить против такого «абсолютно публичного» мышления при проектировании классов бизнес-объектов?

Мы проводим много модульного тестирования и рефакторинга наших бизнес-объектов, и у меня, похоже, совсем другие мнения о дизайне классов, чем у других коллег. Пример класса, который я не фанат: public class Foo { private string field1; private string field2; private string field3; private string...

9
класс на языке ООП и тип

В теории языка программирования тип - это набор значений. Например, тип "int" - это набор всех целочисленных значений. В языках ООП класс - это тип, не так ли? Когда класс определен с более чем одним членом, например class myclass{ int a; double b; } Когда мы говорим о классе, мы имеем в виду «...

9
Значительное количество времени я не могу придумать причину иметь объект вместо статического класса. Есть ли у объектов больше преимуществ, чем я думаю? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Я понимаю концепцию объекта, и, как программист на...

9
Изменение сигнатуры метода для реализации классов в PHP

Есть ли достойный обходной путь к отсутствию в Generics PHP, позволяющего статический контроль кода для выявления согласованности типов? У меня есть абстрактный класс, который я хочу разделить на подклассы, а также обеспечить, чтобы один из методов изменился с получения параметра одного типа на...

9
Вернуть интерфейс или класс

Предположим, у меня есть метод public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } Я прочитал, что было бы лучше вернуть интерфейс (либо IListили IEnumerable), а не возвращать List....

9
Отслеживание всех объектов класса

Я новичок в объектно-ориентированном программировании и продолжаю сталкиваться с этой проблемой. (Я программирую на Java) Я немного неохотно спрашиваю об этом, поскольку это кажется такой основной проблемой, но я не могу найти какую-либо информацию по этому вопросу или вопросы по этому поводу...

9
Есть ли разница между интерфейсами и абстрактными классами, которые имеют только абстрактные методы?

Допустим, у нас есть абстрактный класс, и пусть этот класс имеет только абстрактные методы. Отличается ли этот абстрактный класс от интерфейса, который имеет только те же методы? Я хочу знать, есть ли какие-либо различия как в философском, объективном, так и в базовой реализации языка...