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

Методология, которая позволяет моделировать систему как набор объектов, которыми можно управлять и манипулировать модульным способом

2
В чем разница между необязательными и Nullable типом
Свифт имеет Optionals. C # имеет Nullableтипы. Насколько я могу судить, оба служат одной и той же цели, кроме значения некоторого типа, они хранят информацию о том, имеет ли переменная значение или не определена (неинициализирована). Вопрос в том, Optionalsчто это просто Nullableтипы с другим именем или есть другие концептуальные различия? …


3
Может ли класс RxJava Flowable законно иметь 460 методов?
Я только начинаю с RxJava , Java-реализации ReactiveX (также известной как Rx и Reactive Extensions ). То , что действительно поразило меня массовый размер RxJava в текучий классе : он имеет 460 методы! По честному: Есть много методов, которые перегружены, что значительно увеличивает общее количество методов. Возможно, этот класс следует …

4
Как обращаться с методами, которые были добавлены для подтипов в контексте полиморфизма?
Когда вы используете концепцию полиморфизма, вы создаете иерархию классов и, используя родительскую ссылку, вызываете функции интерфейса, не зная, какой конкретный тип имеет объект. Это круто. Пример: У вас есть коллекция животных, и вы вызываете все функции животных, eatи вам все равно, едят ли вы собаку или кошку. Но в той …

7
Примитив против класса для представления простого объекта домена?
Каковы общие рекомендации или практические правила, когда следует использовать объект, специфичный для домена, против простой строки или числа? Примеры: Возрастной класс против Integer? FirstName класс против строки? UniqueID против строки Класс PhoneNumber vs String vs Long? Класс DomainName против строки? Я думаю, что большинство практиков ООП определенно сказали бы определенные …

3
Когда можно использовать параллельные массивы?
Я сталкивался с кодом (новым кодом), который использует то, что я называю 'Parallel Arrays' или Lists. Это означает, что есть 2 массива, которые содержат связанные данные и связаны их положением (индексом) в массиве. Я считаю это запутанным и подверженным всевозможным ошибкам. Решение, которое я обычно предлагаю, состоит в создании объекта …

5
ООП Стиль кодирования: инициализировать все на конструкторе?
Я все еще считаю себя учеником-программистом, поэтому я всегда стремлюсь найти «лучший» способ для типичного программирования. Сегодня мой коллега утверждал, что мой стиль кодирования выполняет какую-то ненужную работу, и я хочу услышать мнения других. Как правило, когда я проектирую класс на языке ООП (обычно C ++ или Python), я делю …

4
Насколько конкретным должен быть шаблон единой ответственности для классов?
Например, предположим, что у вас есть консольная игровая программа, которая имеет все виды методов ввода / вывода в консоль и из консоли. Будет ли это быть умным , чтобы держать их все в одном inputOutputклассе или разбить их на более конкретных классы , как startMenuIO, inGameIO, playerIO, gameBoardIOи т.д. , …

10
Могут ли объекты, созданные из одного и того же класса, иметь уникальные определения методов?
Я знаю, что это кажется странным вопросом, поскольку смысл в том, что два или более объектов совместно используют один и тот же класс, состоит в том, что их поведение одинаково, то есть их методы идентичны. Однако мне любопытно, существуют ли какие-либо ООП-языки, которые позволяют вам переопределять методы объектов таким же …

3
Когда я создаю объект, выделяется ли свежая память для полей и методов экземпляра или только для полей экземпляра
У меня следующий класс class Student{ int rollNumber; int marks; public void setResult(int rollNumber, int marks){ this.rollNumber=rollNumber; this.marks=marks; } public void displayResult(){ System.out.println("Roll Number= "+this.rollNumber+" Marks= "+this.marks); } } Теперь я создаю два объекта типа Student следующим образом Student s1=new Student(); Student s2=new Student(); Теперь два разных набора памяти выделены …

2
Проводились ли исследования эффективности ООП в управлении сложностью программного обеспечения? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 2 года назад . ООП часто рассматривается как эффективная стратегия управления сложностью в программном обеспечении, в отличие от процедурного программирования …

3
Как придерживаться принципа открытого-закрытого на практике
Я понимаю цель принципа открытого-закрытого. Он предназначен для того, чтобы уменьшить риск поломки чего-либо, что уже работает при его изменении, предлагая вам попытаться расширить без изменения. Однако у меня возникли проблемы с пониманием того, как этот принцип применяется на практике. Насколько я понимаю, есть два способа его применения. До и …

4
Можно ли свободно связать приложение с его фреймворком?
Допустим, я занимаюсь разработкой веб-приложения. Мой первый выбор - использовать PHP с Fat-Free Framework (F3) и шаблоном MVC. В следующем году я могу решить, что хочу перейти на Zend Framework или, может быть, даже ASP.NET MVC. Имеет ли смысл пытаться спроектировать мое приложение таким образом, чтобы оно было слабо связано …

3
Общий процесс обсуждения вопросов «Как бы вы построили этот сайт / приложение» [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Я собрал кучу вопросов для интервью, таких как «Опишите, как вы …

7
Должен ли мой код быть СУХИМ или читаемым, если он не может быть и тем, и другим?
Я пишу код Ruby для простого упражнения по шифрованию и часто сталкиваюсь с этой дилеммой (упражнение является пасьянсом, если вы должны знать). Вопрос в том, должен ли я дополнить свою логику описательными переменными и одношаговыми операторами, которые делают функцию читабельной вместо кратких, даже плотных, которые исключают повторение и / или …

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