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

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

3
Можете ли вы объяснить принцип подстановки Лискова на хорошем примере C #? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт в прошлом году . Уточните этот вопрос Можете ли вы объяснить принцип подстановки Лискова (буква «L» …

7
Как я могу получить имя класса из статического вызова в расширенном классе PHP?
У меня два класса: Actionи MyAction. Последний объявлен как: class MyAction extends Action {/* some methods here */} Все, что мне нужно, это метод в Actionклассе (только в нем, потому что будет много унаследованных классов, и я не хочу реализовывать этот метод во всех из них), который вернет имя класса …
93 php  oop  inheritance 

9
Как работают языки функционального программирования?
Если языки функционального программирования не могут сохранять какое-либо состояние, как они делают простые вещи, такие как чтение ввода от пользователя? Как они «хранят» ввод (или хранят какие-либо данные в этом отношении?) Например: как эта простая вещь C может быть переведена на функциональный язык программирования, такой как Haskell? #include<stdio.h> int main() …

6
Что такое полиморфизм в Javascript?
Я прочитал возможную статью о полиморфизме, которую смог найти в Интернете . Но я думаю, что не мог полностью понять значение этого и его важность. В большинстве статей не говорится, почему это важно и как добиться полиморфного поведения в ООП (конечно, в JavaScript). Я не могу привести пример кода, потому …

5
Если синглтоны - это плохо, то почему сервисный контейнер хорош?
Все мы знаем, насколько плохи синглтоны , потому что они скрывают зависимости и по другим причинам . Но во фреймворке может быть много объектов, которые нужно создать только один раз и вызывать из любого места (регистратор, база данных и т. Д.). Чтобы решить эту проблему, мне посоветовали использовать так называемый …

9
Доступ к частному полю другого объекта в том же классе
class Person { private BankAccount account; Person(BankAccount account) { this.account = account; } public Person someMethod(Person person) { //Why accessing private field is possible? BankAccount a = person.account; } } Забудьте о дизайне. Я знаю, что ООП указывает, что частные объекты являются частными для класса. У меня вопрос: почему ООП …
91 java  c++  .net  oop 

12
Агрегация против композиции [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 5 лет назад . Уточните этот вопрос Мне было трудно понять разницу между …
91 java  oop  uml 

10
В чем преимущество использования статических методов в Python?
Я столкнулся с ошибкой несвязанного метода в python с кодом import random class Sample(object): '''This class defines various methods related to the sample''' def drawSample(samplesize,List): sample=random.sample(List,samplesize) return sample Choices=range(100) print Sample.drawSample(5,Choices) Прочитав здесь много полезных сообщений, я подумал, как можно добавить @staticmethodвыше, чтобы код заработал. Я новичок в питоне. Может …

6
Как мне объявить значения по умолчанию для переменных экземпляра в Python?
Должен ли я дать своим членам класса значения по умолчанию, например: class Foo: num = 1 или вот так? class Foo: def __init__(self): self.num = 1 В этом вопросе я обнаружил, что в обоих случаях bar = Foo() bar.num += 1 это четко определенная операция. Я понимаю, что первый метод …
90 python  class  oop 

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

9
Машинопись: как расширить два класса?
Я хочу сэкономить свое время и повторно использовать общий код для разных классов, который расширяет классы PIXI (2d-библиотека рендеринга webGl). Объектные интерфейсы: module Game.Core { export interface IObject {} export interface IManagedObject extends IObject{ getKeyInManager(key: string): string; setKeyInManager(key: string): IObject; } } Моя проблема в том, что код внутри getKeyInManagerи …

7
Внедрение зависимостей и шаблон проектирования синглтонов
Как определить, когда использовать внедрение зависимостей или одноэлементный шаблон. Я читал на многих веб-сайтах, где говорится: «Используйте инъекцию зависимостей по шаблону singleton». Но я не уверен, что полностью согласен с ними. Для моих малых или средних проектов я определенно вижу простое использование одноэлементного шаблона. Например Регистратор. Я мог бы использовать …

7
Указатель функции на функцию-член
Я хотел бы настроить указатель на функцию как член класса, который является указателем на другую функцию в том же классе. Причины, по которым я это делаю, сложны. В этом примере я хотел бы, чтобы результат был «1» class A { public: int f(); int (*x)(); } int A::f() { return …

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

6
вниз и вверх
Я новичок в C # (и ООП ). Когда у меня есть такой код: class Employee { // some code } class Manager : Employee { //some code } Вопрос 1 : Если у меня есть другой код, который делает это: Manager mgr = new Manager(); Employee emp = (Employee)mgr; …
88 c#  oop  downcast  upcasting 

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