Вопросы с тегом «abstract-class»

127
Абстрактные функции в Swift Language

Я хотел бы создать абстрактную функцию на быстром языке. Является ли это возможным? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }...

126
Абстрактные свойства PHP

Есть ли способ определить свойства абстрактного класса в PHP? abstract class Foo_Abstract { abstract public $tablename; } class Foo extends Foo_Abstract { //Foo must 'implement' $property public $tablename = 'users';

123
Почему абстрактный класс, реализующий интерфейс, может пропустить объявление / реализацию одного из методов интерфейса?

Любопытная вещь происходит в Java, когда вы используете абстрактный класс для реализации интерфейса: некоторые из методов интерфейса могут полностью отсутствовать (т.е. нет ни абстрактного объявления, ни фактической реализации), но компилятор не жалуется. Например, учитывая интерфейс: public...

121
Как реализовать абстрактный класс в Ruby?

Я знаю, что в Ruby нет концепции абстрактного класса. Но если это вообще нужно реализовать, как это сделать? Я пробовал что-то вроде ... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A ... ... end Но когда я пытаюсь создать экземпляр B, он вызывает...

118
Как создать абстрактные свойства в абстрактных классах Python

В следующем коде я создаю базовый абстрактный класс Base. Я хочу, чтобы все классы, от которых наследуются, Baseпредоставляли nameсвойство, поэтому я сделал это свойство свойством @abstractmethod. Затем я создал подкласс Base, называемый Base_1, который предназначен для обеспечения некоторой...

118
Идиома Pimpl против интерфейса виртуального класса Pure

Мне было интересно, что заставит программиста выбрать либо идиому Pimpl, либо чистый виртуальный класс и наследование. Я понимаю, что идиома pimpl включает одну явную дополнительную косвенность для каждого общедоступного метода и накладные расходы на создание объекта. С другой стороны, виртуальный...

114
Как создать экземпляр анонимного класса абстрактного класса в Котлине?

Предположим, что KeyAdapterэто абстрактный класс с несколькими методами, которые можно переопределить. В java я могу: KeyListener keyListener = new KeyAdapter() { @Override public void keyPressed(KeyEvent keyEvent) { // ... } }; Как сделать то же самое в...

107
staticmethod и abc.abstractmethod: будет ли он смешиваться?

В моем приложении Python я хочу создать метод, который одновременно является staticmethodи abc.abstractmethod. Как мне это сделать? Я пробовал применить оба декоратора, но ничего не вышло. Если я сделаю это: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod...

103
Соглашения об именах для абстрактных классов

Я отчетливо помню, что одно время Microsoft предлагала добавить суффикс «Base» к абстрактному классу, чтобы избежать того факта, что он абстрактный. Таким образом, у нас есть классы , как System.Web.Hosting.VirtualFileBase, System.Configuration.ConfigurationValidatorBase,...

88
Почему мы не можем объявить std :: vector <AbstractClass>?

Потратив некоторое время на разработку на C #, я заметил, что если вы объявляете абстрактный класс с целью использования его в качестве интерфейса, вы не можете создать экземпляр вектора этого абстрактного класса для хранения экземпляров дочерних классов. #pragma once #include <iostream>...

87
Как протестировать абстрактный класс в Java с помощью JUnit?

Я новичок в тестировании Java с помощью JUnit. Мне нужно работать с Java, и я хотел бы использовать модульные тесты. Моя проблема: у меня есть абстрактный класс с некоторыми абстрактными методами. Но есть методы, которые не являются абстрактными. Как я могу протестировать этот класс с помощью...

87
Абстрактный класс против интерфейса в Java

Мне задали вопрос, я хотел, чтобы мой ответ был рассмотрен здесь. В : В каком сценарии более целесообразно расширить абстрактный класс, а не реализовывать интерфейс (ы)? О: Если мы используем шаблонный метод проектирования. Я прав ? Прошу прощения, если я не смог четко сформулировать вопрос. Я...