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

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

13
Классы именования - Как не называть все «Менеджером <WhatEver>»? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

22
Какова цель слова «я»?
Какова цель selfслова в Python? Я понимаю, что это относится к конкретному объекту, созданному из этого класса, но я не понимаю, почему его необходимо явно добавлять в каждую функцию в качестве параметра. Для иллюстрации, в Ruby я могу сделать это: class myClass def myFunc(name) @name = name end end Что …
1132 python  class  oop  self 

28
Заменяет ли функциональное программирование шаблоны проектирования GoF?
С тех пор как я начал изучать F # и OCaml в прошлом году, я прочитал огромное количество статей, в которых утверждается, что шаблоны проектирования (особенно в Java) - это обходные пути для отсутствующих функций в императивных языках. Одна статья, которую я нашел, довольно убедительно утверждает : Большинство людей, которых …


17
В чем разница между публичным, частным и защищенным?
Когда и почему я должен использовать public, privateи protectedфункции и переменные внутри класса? В чем разница между ними? Примеры: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // …
989 php  oop  private  public  protected 

16
Что такое миксин и почему они полезны?
В « Программировании Python » Марк Лутц упоминает «миксины». Я из C / C ++ / C # фона, и я не слышал этот термин раньше. Что такое миксин? Читая между строк этого примера (который я связал, потому что он довольно длинный), я предполагаю, что это случай использования множественного наследования …


30
Что является примером принципа подстановки Лискова?
Я слышал, что принцип замещения Лискова (LSP) является фундаментальным принципом объектно-ориентированного проектирования. Что это такое и каковы некоторые примеры его использования?

30
Что значит «программировать на интерфейс»?
Я видел это упомянутое несколько раз, и мне не ясно, что это значит. Когда и зачем ты это делаешь? Я знаю, что делают интерфейсы, но тот факт, что я не совсем уверен в этом, заставляет меня думать, что мне не хватает их правильного использования. Это просто так, если вы должны …

8
Как отсортировать список объектов на основе атрибута объектов?
У меня есть список объектов Python, которые я хотел бы отсортировать по атрибутам самих объектов. Список выглядит так: &gt;&gt;&gt; ut [&lt;Tag: 128&gt;, &lt;Tag: 2008&gt;, &lt;Tag: &lt;&gt;, &lt;Tag: actionscript&gt;, &lt;Tag: addresses&gt;, &lt;Tag: aes&gt;, &lt;Tag: ajax&gt; ...] Каждый объект имеет количество: &gt;&gt;&gt; ut[1].count 1L Мне нужно отсортировать список по убыванию количества отсчетов. …
804 python  list  sorting  oop  count 

18
Что __init__ и self делают на Python?
Я изучаю язык программирования Python и натолкнулся на то, что не до конца понимаю. В методе, как: def method(self, blah): def __init__(?): .... .... Что делает self? Что это значит? Это обязательно? Что делает __init__метод? Зачем это нужно? (так далее.) Я думаю, что они могут быть ООП-конструкциями, но я не …
796 python  oop  self 

4
Функциональное программирование и объектно-ориентированное программирование [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . До сих пор я в основном знакомился с ОО-программированием и с нетерпением жду …

30
Интерфейс против Базового класса
Когда я должен использовать интерфейс и когда я должен использовать базовый класс? Должен ли он всегда быть интерфейсом, если я не хочу определять базовую реализацию методов? Если у меня есть класс собак и кошек. Почему я хотел бы реализовать IPet вместо PetBase? Я могу понять наличие интерфейсов для ISheds или …


19
Монада на простом английском? (Для программиста ООП без фона FP)
С точки зрения того, что программист ООП понимает (без какой-либо функциональной основы программирования), что такое монада? Какую проблему он решает и какие места он использует чаще всего? РЕДАКТИРОВАТЬ: Чтобы прояснить то понимание, которое я искал, допустим, вы конвертировали приложение FP с монадами в приложение ООП. Что бы вы сделали, чтобы …

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