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

Объектно-ориентированное программирование - это парадигма программирования, использующая «объекты»: структуры данных, состоящие из полей данных и методов вместе с их взаимодействиями.

6
Почему используются безымянные пространства имен и каковы их преимущества?
Я только что присоединился к новому программному проекту C ++, и я пытаюсь понять дизайн. Проект часто использует безымянные пространства имен. Например, что-то подобное может произойти в файле определения класса: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... Каковы конструктивные соображения, которые могут …
242 c++  oop  namespaces 

22
Как сравнивать объекты по нескольким полям
Предположим, у вас есть несколько объектов, у которых есть несколько полей, с которыми они могут сравниваться: public class Person { private String firstName; private String lastName; private String age; /* Constructors */ /* Methods */ } Так что в этом примере, когда вы спрашиваете: a.compareTo(b) > 0 Вы могли бы …
237 java  oop 

23
Как вы проектируете объектно-ориентированные проекты? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос Я работаю над большим проектом (для меня), который будет иметь …

9
Почему я предпочитаю использовать список инициализации членов?
Я неравнодушен к использованию списков инициализации членов с моими конструкторами ... но я давно забыл причины этого ... Используете ли вы списки инициализации членов в ваших конструкторах? Если так, то почему? Если нет, то почему нет?

15
Какой смысл интерфейсов в PHP?
Интерфейсы позволяют создавать код, который определяет методы классов, которые его реализуют. Однако вы не можете добавить код к этим методам. Абстрактные классы позволяют вам делать то же самое, наряду с добавлением кода в метод. Теперь, если вы можете достичь той же цели с помощью абстрактных классов, зачем нам вообще нужна …
224 php  oop  interface  theory 

12
Какой лучший способ объединить два объекта PHP?
У нас есть два объекта PHP5 и мы хотим объединить содержимое одного объекта со вторым. Между ними нет понятия подклассов, поэтому решения, описанные в следующем разделе, не могут применяться. Как вы копируете объект PHP в другой тип объекта //We have this: $objectA->a; $objectA->b; $objectB->c; $objectB->d; //We want the easiest way …
222 php  oop  object 


15
Перегрузка функции Python
Я знаю, что Python не поддерживает перегрузку методов, но я столкнулся с проблемой, которую не могу решить хорошим способом Pythonic. Я делаю игру, в которой персонаж должен стрелять различными пулями, но как мне написать разные функции для создания этих пуль? Например, предположим, у меня есть функция, которая создает пулю, путешествующую …

13
Почему C ++ STL так сильно основан на шаблонах? (а не на * интерфейсах *)
Я имею в виду, кроме его обязательного имени (Стандартная библиотека шаблонов) ... Изначально C ++ предназначался для представления концепций ООП в C. То есть: вы можете сказать, что конкретная сущность может и не может делать (независимо от того, как она это делает), основываясь на своем классе и иерархии классов. Некоторые …
211 c++  oop  templates  stl 


22
Почему C # не предоставляет ключевое слово «друг» в стиле C ++? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос В C ++ друг ключевое слово позволяет class Aназначить в …
208 c#  c++  design-patterns  oop  friend 

3
наследование на основе прототипов и классов
В JavaScript каждый объект является одновременно экземпляром и классом. Для наследования вы можете использовать любой экземпляр объекта в качестве прототипа. В Python, C ++ и т. Д. Существуют классы и экземпляры как отдельные понятия. Чтобы выполнить наследование, вы должны использовать базовый класс для создания нового класса, который затем можно использовать …

4
Понимание разницы между __getattr__ и __getattribute__
Я пытаюсь понять разницу между ними, __getattr__и __getattribute__, тем не менее, мне это не удается. Ответ на вопрос переполнения стека Разница между __getattr__VS__getattribute__ говорит: __getattribute__вызывается перед просмотром фактических атрибутов объекта, и поэтому может быть сложно реализовать правильно. Вы можете очень легко попасть в бесконечные рекурсии. Я понятия не имею, что …

9
Почему код Python использует функцию len () вместо метода длины?
Я знаю, что в python есть len()функция, которая используется для определения размера строки, но мне было интересно, почему это не метод объекта string. Обновить Хорошо, я понял, что я смущенно ошибался. __len__()на самом деле метод строкового объекта. Просто кажется странным видеть объектно-ориентированный код в Python, использующий функцию len для строковых …

4
Что значит увлажнить объект?
Когда кто-то говорит о увлажнении объекта, что это значит? Я вижу в сети Java-проект под названием Hydrate, который преобразует данные между различными представлениями (RDMS в OOPS в XML). Это общий смысл гидратации объекта; преобразовать данные между представлениями? Может ли это означать восстановление иерархии объектов из сохраненного представления?
206 java  oop 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.