Метод на производном классе возвращает родительский объект [дубликат]

    <?php 
    $your_php_variable= 22;
    echo "<script type='text/javascript'>var your_javascript_variable = $your_php_variable;</script>";  
    ?>

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

7
задан Billiska 2 May 2013 в 23:16
поделиться

1 ответ

Для классов нового стиля используйте type(self), чтобы получить «текущий» класс:

def create_another(self):
    return type(self)()

Вы также можете использовать self.__class__, как это будет использовать значение type(), но использование метода API всегда рекомендуется.

Для классов старого стиля (python 2, не наследующих от object), type() не так полезен, поэтому вы вынуждены использовать self.__class__:

def create_another(self):
    return self.__class__()
24
ответ дан Martijn Pieters 21 August 2018 в 07:34
поделиться
  • 1
    @Billiska: Если у вас нет оснований для этого, я бы использовал классы нового стиля. Наследовать Foo на object. – Martijn Pieters♦ 8 January 2013 в 09:14
Другие вопросы по тегам:

Похожие вопросы: