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

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

8
Объектно-ориентированный дизайн классов
Меня интересует хороший объектно-ориентированный дизайн классов. В частности, мне трудно выбирать между этими вариантами: статический метод против экземпляра метод без параметров или возвращаемого значения против метода с параметрами и возвращаемым значением перекрывающиеся и отличные функциональные возможности метода приват против публичного метода Пример 1: Эта реализация использует методы экземпляра, без возвращаемого …

9
Наследование пошло не так
У меня есть код, где хорошая модель наследования пошла под откос, и я пытаюсь понять, почему и как это исправить. По сути, представьте, что у вас есть иерархия Zoo с: class Animal class Parrot : Animal class Elephant : Animal class Cow : Animal и т.п. У вас есть методы …

5
Преимущества нескольких методов перед переключением
Сегодня я получил обзор кода от старшего разработчика, спрашивающего: «Кстати, что ты возражаешь против диспетчеризации функций с помощью оператора switch?» Во многих местах я читал о том, что перекачивание аргумента через метод switch для вызова методов является плохим ООП, не настолько расширяемым и т. Д. Однако я не могу придумать …

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

12
С ++ не подходит для ООП? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

4
Почему нет последовательного определения основных понятий для ООП?
Я очень новичок в программировании и немного смущен чтением \ слушанием различных соглашений из разных источников: Есть ли у объектно-ориентированного программирования 4 или 5 концепций? Как новичок, я понимаю, что это 5 концепций: абстракция наследование Инкапсуляция Полиморфизм модульность Так почему же я не нашел более «строгого» определения, и, кажется, существует …

4
Параллельные иерархии - частично одинаковые, частично разные
Есть довольно много подобных вопросов там 1 ,2 ,3 ,4 , но в этом вопросе, похоже, не совсем так, и решения не кажутся оптимальными. Это общий вопрос ООП, предполагая, что полиморфизм, дженерики и миксины доступны. Фактический язык, который нужно использовать - это OOP Javascript (Typescript), но это та же проблема …

7
Как ООП эволюционировала, чтобы включить понятие свойств
Я пришел из C ++ фона и полностью использую C # в своей текущей работе, и я только что прочитал много вопросов и ответов о том, в чем разница между открытыми полями и свойствами, и обо всем, что есть в вариантах и ​​воплощениях этого основной вопрос (например, этот пост SO …

3
Принцип обращения зависимостей против «Программы для интерфейса, а не для реализации»
Я пытаюсь понять, чем принцип инверсии зависимости отличается от принципа «программа - интерфейс, а не реализация». Я понимаю, что означает «Программа для интерфейса, а не для реализации». Я также понимаю, как это позволяет создавать более гибкие и поддерживаемые конструкции. Но я не понимаю, чем принцип инверсии зависимости отличается от принципа …

1
Использование шаблона посетителя с большой иерархией объектов
контекст Я использовал с иерархией объектов (дерево выражений) «псевдо» шаблон посетителя (псевдо, так как в нем не используется двойная диспетчеризация): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Этот …

3
Должен ли основной метод состоять только из создания объекта и вызова метода?
Мой друг сказал мне, что лучшая практика - mainметод, содержащий классы, должен называться Mainи содержать только mainметод. Также mainметод должен только анализировать входные данные, создавать другие объекты и вызывать другие методы. MainКласс и mainметод не должен делать ничего другого. По сути, он говорит, что класс, содержащий mainметод, должен выглядеть так: …

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

3
Как вы подходите к дизайну классов в ООП?
Когда я пытаюсь разработать OO-решение, я обычно использую моделирование CRC, в котором я перечисляю имена классов (существительные), что они делают (глаголы) и как они взаимодействуют с другими классами. Этот блог имеет следующее, что можно сказать об этом подходе существительное-глагол ...This approach, which I will call “noun and verb,” is so …

5
Используете ли вы преимущества принципа открытого-закрытого?
Принцип открытого-закрытого (OCP) гласит, что объект должен быть открыт для расширения, но закрыт для модификации. Я полагаю, что понимаю это и использую это вместе с SRP для создания классов, которые делают только одно. И я пытаюсь создать много небольших методов, которые позволяют извлечь все элементы управления поведением в методы, которые …

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

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