oop ×16
Создан 04.01.2025
5
голоса
5
ответов
42
просмотров
Как мне следовало объяснить разницу между интерфейсом и абстрактным классом? [закрыто]

Описание проблемы:

В одном из интервью мне задали вопрос о различии между интерфейсом и абстрактным классом. Я представил свой ответ, в котором указал, что методы интерфейса в Java являются неявно абстрактными и не могут иметь реализацию, тогда как абстрактный класс может содержать...

6
голоса
4
ответов
31
просмотров
Объяснение '__enter__' и '__exit__' в Python

Описание проблемы для StackOverflow:

Я увидел следующий код и не совсем понимаю, что он означает:

def __enter__(self):
    return self

def __exit__(self, type, value, tb):
    self.stream.close()

Кроме этого, вот полный код:

from __future__ import with_statement  #...
5
голоса
2
ответов
14
просмотров
Как должна быть структурирована модель в MVC? [закрыто]

Вопрос:

Я только начинаю осваивать фреймворк MVC и часто задаюсь вопросом, сколько кода должно находиться в модели. У меня есть класс для доступа к данным с методами, подобными следующему:

public function CheckUsername($connection, $username)
{
    try
    {
        $data = array();
 ...
8
голоса
5
ответов
28
просмотров
Как вызвать функцию родительского класса из функции производного класса?

Как вызвать функцию родительского класса из производного класса на C++? У меня есть класс под названием parent и класс child, который наследуется от parent. В каждом классе есть функция print. В определении функции print класса child я хотел бы вызвать функцию print родительского...

8
голоса
5
ответов
27
просмотров
Добавление метода к существующему экземпляру объекта в Python

Как добавить метод к существующему объекту (т.е. не в определении класса) в Python?

Я понимаю, что в общем это не считается хорошей практикой, кроме некоторых случаев.

7
голоса
5
ответов
30
просмотров
В чем разница между __init__ и __call__?

Заголовок: В чем разница между методами __init__ и __call__ в Python?

Текст вопроса:

Я хочу понять различия между методами __init__ и __call__ в Python.

Например, у меня есть следующий код:

class test:
  
  def __init__(self):
    self.a = 10

  def __call__(self): 
    b =...
6
голоса
5
ответов
29
просмотров
Можно ли создать экземпляр абстрактного класса?

Во время одного из собеседований мне задали вопрос: "Можно ли создать экземпляр абстрактного класса?"

Мой ответ был "Нет, нельзя". Но интервьюер сказал мне: "Неправильно, мы можем".

Я немного поспорил на эту тему, после чего он предложил мне попробовать это сделать самостоятельно дома.

Вот...

6
голоса
4
ответов
25
просмотров
Примеры паттернов проектирования GoF в ядре библиотек Java

Проблема: Поиск реальных примеров паттернов проектирования GoF в Java

Я изучаю паттерны проектирования "Банды четырех" (GoF) на Java и хотел бы увидеть реальные примеры их использования. Есть ли хорошие примеры применения этих паттернов в основных библиотеках Java? Буду благодарен за любые...

18
голоса
5
ответов
30
просмотров
Почему стоит использовать геттеры и сеттеры?

Вопрос: Какое преимущество в использовании геттеров и сеттеров, которые просто получают и устанавливают значения, по сравнению с использованием открытых полей для этих переменных?

Если геттеры и сеттеры делают что-то большее, чем просто получение и установка значений, это я могу быстро понять....

11
голоса
5
ответов
30
просмотров
Разница между public, private и protected в ООП

Когда и почему следует использовать функции и переменные с модификаторами доступа public, private и protected внутри класса? В чем разница между ними?

Примеры:

// Public
public $variable;
public function doSomething() {
  // ...
}

// Private
private $variable;
private function...
32
голоса
3
ответов
39
просмотров
Понимание Python super() с методами __init__()

Проблема с использованием super() в Python

Я изучаю использование функции super() в Python и у меня возникли некоторые вопросы.

Во-первых, для чего именно используется super()? Есть ли разница между вызовом Base.__init__ и super().__init__ в конструкторах классов?

Я рассмотрел...

11
голоса
4
ответов
44
просмотров
Разница между старыми и новыми классами в Python?

Какова разница между старыми и новыми стилями классов в Python? Когда следует использовать один из них, а когда - другой?

11
голоса
5
ответов
25
просмотров
Как получить класс объекта в JavaScript?

Я создал объект на JavaScript, но как мне определить класс этого объекта?

Мне нужно что-то аналогичное методу .getClass() из Java. Как я могу реализовать это в JavaScript?

9
голоса
5
ответов
28
просмотров
Что делают __init__ и self в Python?

Проблема с пониманием параметра self и метода __init__ в Python

Я изучаю язык программирования Python и столкнулся с чем-то, что я не совсем понимаю.

У меня есть метод, который выглядит следующим образом:

def method(self, blah):
    def __init__(?):
        ....
   ...
22
голоса
5
ответов
28
просмотров
Когда использовать 'self' вместо '$this'?

В PHP 5 в чем разница между использованием self и $this?

Когда следует использовать каждый из них?

17
голоса
0
ответов
36
просмотров
Почему классы в Python наследуют от object?

Проблема: Зачем следующая декларация класса наследует от object?

class MyClass(object):
    ...

Я сталкиваюсь с вопросом, почему в данном случае класс MyClass наследуется от базового класса object. Как это влияет на функциональность и поведение класса? Буду признателен за...