Вопросы с тегом «object-oriented»

9
Когда метод класса должен возвращать тот же экземпляр после изменения самого себя?

У меня есть класс, который имеет три метода A(), B()и C(). Эти методы изменяют собственный экземпляр. В то время как методы должны возвращать экземпляр, когда экземпляр является отдельной копией (просто как Clone()), я получил свободный выбор возврата voidили того же экземпляра ( return this;) при...

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

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

9
Связь между ориентацией объекта и алгоритмами

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

9
Всегда ли имеет смысл «программировать на интерфейс» в Java?

Я видел обсуждение этого вопроса относительно того, как будет реализован класс, реализующий интерфейс. В моем случае я пишу очень маленькую программу на Java, которая использует экземпляр TreeMap, и, по мнению каждого, она должна создаваться следующим образом: Map<X> map = new...

9
Является ли Шаблон посетителя действительным в этом сценарии?

Цель моей задачи - спроектировать небольшую систему, которая может выполнять запланированные повторяющиеся задачи. Повторяющаяся задача - это что-то вроде «отправлять электронное письмо администратору каждый час с 8:00 до 17:00 с понедельника по пятницу». У меня есть базовый класс с именем...

9
Как я могу иметь объекты, взаимодействующие и взаимодействующие друг с другом без навязывания иерархии?

Я надеюсь, что эти разговоры прояснят мой вопрос - я бы полностью понял, если они этого не сделают, поэтому дайте мне знать, если это так, и я постараюсь прояснить себя. Познакомьтесь с BoxPong , очень простой игрой, которую я сделал, чтобы познакомиться с разработкой объектно-ориентированных игр....

9
Должен ли хорошо известный бизнес-идентификатор объекта быть представлен специальным типом в DDD / OOP?

В практическом плане это означает использование пользовательского (неизменяемого) classнад stringили каким-либо другим примитивным типом. Примеры: Издательство: Международный стандартный номер книги. Финансы: международный идентификационный номер ценных бумаг. Преимущества: Может обеспечить формат...

9
Почему неуместно использовать UML-диаграммы для планирования организации вашего кода?

Так что да, диаграммы могут быть неуместны время от времени. Когда они неуместны? Когда вы создаете их без кода, чтобы проверить их, а затем намерены следовать им. Нет ничего плохого в том, чтобы нарисовать диаграмму для изучения идеи. Гибкая разработка программного обеспечения: принципы, шаблоны...

9
Похоже, что объединение Python фокусируется не на элементах, которые нужно объединить, а на символе по сравнению с Ruby или Smalltalk по соображениям дизайна?

Я думал, что один из краеугольных камней ООП состоит в том, что у нас есть объекты, с которыми мы имеем дело, и затем мы отправляем им сообщения. Поэтому может показаться естественным, что у меня есть коллекция предметов, и мне нужно поместить их в одну строку, чтобы сделать это: ["x", "o",...

9
Принцип сегрегации интерфейса: что делать, если интерфейсы имеют значительное перекрытие?

Из Agile Software Development, Принципы, Шаблоны и Практики: Pearson New International Edition : Иногда методы, вызываемые различными группами клиентов, перекрываются. Если перекрытие небольшое, то интерфейсы для групп должны оставаться отдельными. Общие функции должны быть объявлены во всех...

9
Почему прохождение объектов статическими методами было бы выгодно?

Почему было бы выгодно использовать статический метод и передавать ссылку на объект в качестве параметра, а не вызывать метод объекта? Чтобы уточнить, что я имею в виду, рассмотрим следующий класс: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which...

9
Это нормально для интерфейсов, чтобы зависеть от конкретных классов?

Я создаю интерфейс на Java для пользовательского обработчика ошибок. Хочу передать объект ошибки аргумента, но мне нужно, чтобы он был потомком Exceptionкласса. Можно ли использовать мое имя класса в интерфейсе? Разве это не сделает его менее интерфейсным с точки зрения отсутствия зависимости от...

9
Обход правил у волшебников и воинов

В этой серии постов в блоге Эрик Липперт описывает проблему объектно-ориентированного проектирования на примере мастеров и воинов, где: abstract class Weapon { } sealed class Staff : Weapon { } sealed class Sword : Weapon { } abstract class Player { public Weapon Weapon { get; set; } } sealed class...

9
что может пойти не так в контексте функционального программирования, если мой объект изменчив?

Я вижу преимущества изменчивых по сравнению с неизменяемыми объектами, такими как неизменяемые объекты, которые устраняют много трудностей при устранении неполадок в многопоточном программировании из-за общего и записываемого состояния. Напротив, изменяемые объекты помогают иметь дело с...

9
Может ли переименование метода сохранить инкапсуляцию?

Я читал эту страницу о том, когда геттеры / сеттеры оправданы, и ОП дал следующий пример кода: class Fridge { int cheese; void set_cheese(int _cheese) { cheese = _cheese; } int get_cheese() { return cheese; } } void go_shopping(Fridge fridge) { fridge.set_cheese(fridge.get_cheese() + 5); } В...