oop ×23
Создан 04.01.2025
0
голоса
1
ответов
98
просмотров
Почему приватные методы не могут быть финальными?

Вопрос: Избыточно ли использовать private и final одновременно для одного метода?

Я нашел следующий код в классе:

class SomeClass {

    //--snip--

    private final void doStuff()
    {
        // private work here
    }
}

Если метод private, то никто не сможет его...

0
голоса
5
ответов
10
просмотров
"Использование parent::parent в PHP: как это работает?"

Я ищу способ обратиться к методу родительского класса, не вызывая его напрямую. Это может звучать немного странно, поэтому приведу пример:

class myclass
{
  public function test() { return 'level 1'; }
}
class myclass2 extends myclass
{
  public function test() { return parent::test() ....
0
голоса
2
ответов
16
просмотров
Почему нельзя вызывать абстрактные функции из абстрактных классов в PHP?

У меня есть абстрактный родительский класс и конкретный класс, который его расширяет. Почему родительский класс не может вызвать абстрактный метод?

//foo.php
<?php
    abstract class AbstractFoo{
        abstract public static function foo();
        public static function getFoo(){
       ...
0
голоса
2
ответов
13
просмотров
Может ли объект автоматически удалить себя после достижения своей цели?

Я хотел бы узнать, возможно ли для объекта в JavaScript удалить себя после завершения своей задачи.

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

var myObject = Object.create(baseObject);
myObject.init = function() {
  /* выполняем некоторые действия... */
  delete...
0
голоса
3
ответов
14
просмотров
Сколько конструкторов у класса?

Я готовлюсь к грядущему экзамену по C++ и столкнулся с вопросом о классах и конструкторах:

Сколько конструкторов имеет класс Fraction?

class Fraction {
//...
public:
   Fraction(int numerator = 0, int denominator = 1);
//...
};

Я думал, что у него только один конструктор, но мне...

0
голоса
5
ответов
15
просмотров
Не удается присвоить значение свойству 'name' объекта '[object Object]', так как оно только для чтения

У меня есть следующий код, который вызывает ошибку только для свойства name. Я мог бы решить эту проблему, указав, что свойство name является записываемым в аргументах функции Object.create, но я пытаюсь понять, почему это происходит (и, возможно, существует более элегантный способ это...

0
голоса
3
ответов
15
просмотров
Какова цель конструкторов и деструкторов в PHP?

Я работаю с простыми классами, которые содержат методы для создания объектов.

Какова цель конструкторов классов (__construct) и деструкторов (__destruct)? В каких ситуациях нам нужно их использовать?

Пожалуйста, приведите также пример.

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

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

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

6
голоса
4
ответов
51
просмотров
Объяснение '__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
ответов
31
просмотров
Как должна быть структурирована модель в MVC? [закрыто]

Вопрос:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот...

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

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

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

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

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

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

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

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

Примеры:

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

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

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

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

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

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

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

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

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

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

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