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

Абстрактные классы - это классы, которые не могут быть созданы. Они существуют для обеспечения общих функциональных возможностей и спецификаций интерфейса для нескольких конкретных классов.

1413
Интерфейс против абстрактного класса (общий ОО)

Недавно у меня было два телефонных интервью, где меня спрашивали о различиях между интерфейсом и абстрактным классом. Я объяснил каждый их аспект, который мог придумать, но, похоже, они ждут, чтобы я упомянул что-то конкретное, и я не знаю, что это такое. Исходя из своего опыта, я думаю, что это...

540
Когда использовать: метод интерфейса Java 8+ по умолчанию, а не абстрактный метод

Java 8 допускает реализацию методов по умолчанию в интерфейсах, называемых Методами по умолчанию . Я запутался между тем, когда я бы использовал этот вид interface default methodвместо abstract class(с abstract method(s)). Так когда же следует использовать интерфейс с методами по умолчанию и когда...

507
Создание абстрактного класса в Objective-C

Я изначально программист на Java, который сейчас работает с Objective-C. Я хотел бы создать абстрактный класс, но это не представляется возможным в Objective-C. Это возможно? Если нет, то как близко к абстрактному классу я могу получить в...

469
Как мне объяснить разницу между интерфейсом и абстрактным классом?

В одном из моих интервью меня попросили объяснить разницу между интерфейсом и классом Abstract . Вот мой ответ: Методы интерфейса Java неявно абстрактны и не могут иметь реализации. Абстрактный класс Java может иметь методы экземпляров, которые реализуют поведение по умолчанию. Переменные,...

446
Как тестировать абстрактные классы: дополнить заглушками?

Мне было интересно, как тестировать абстрактные классы и классы, расширяющие абстрактные классы. Должен ли я тестировать абстрактный класс, расширяя его, заглушая абстрактные методы, а затем тестируя все конкретные методы? Тогда только тестируйте методы, которые я переопределяю, и тестируйте...

427
Когда использовать интерфейс вместо абстрактного класса и наоборот?

Это может быть общий вопрос ООП. Я хотел сделать общее сравнение между интерфейсом и абстрактным классом на основе их использования. Когда нужно использовать интерфейс, а когда - абстрактный класс...

322
Можно ли создавать абстрактные классы в Python?

Как я могу сделать класс или метод абстрактным в Python? Я пытался переопределить __new__() так: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract class %s" %cls) но теперь, если я создам класс G который наследует от Fтак: class G(F): pass тогда я не могу создать...

213
Использование Mockito для тестирования абстрактных классов

Я хотел бы проверить абстрактный класс. Конечно, я могу вручную написать макет, который наследуется от класса. Могу ли я сделать это, используя фальшивый фреймворк (я использую Mockito) вместо того, чтобы делать макет вручную?...

213
Зачем использовать абстрактные базовые классы в Python?

Поскольку я привык к старым способам типизации уток в Python, я не понимаю необходимости ABC (абстрактные базовые классы). Помощь хорошо о том , как использовать их. Я попытался прочитать обоснование в ПКП , но это пошло мне на ум. Если бы я искал изменяемый контейнер последовательности, я бы...

147
Почему чисто виртуальная функция инициализируется 0?

Мы всегда объявляем чисто виртуальную функцию как: virtual void fun () = 0 ; Т.е. оно всегда присваивается 0. Что я понимаю, так это то, что это инициализирует запись vtable для этой функции в NULL, и любое другое значение здесь приводит к ошибке времени компиляции. Это понимание правильно или...

145
Visual Studio: как показать все классы, унаследованные от базового класса?

Как в Visual Studio показать все классы, унаследованные от базового класса? Например , в ASP.NET MVC есть несколько типов ActionResult , и все они наследуются от базового класса или реализуют его ActionResult. Похоже, что если вы просто не «знаете», что Viewи Jsonявляются действительными...

144
Тестирование абстрактных классов

Как проверить конкретные методы абстрактного класса с помощью PHPUnit? Я ожидаю, что мне придется создать какой-то объект как часть теста. Тем не менее, я понятия не имею, лучшая практика для этого или если PHPUnit позволяет...

131
C #: абстрактные классы должны реализовывать интерфейсы?

Мой тестовый код в C #: namespace DSnA { public abstract class Test : IComparable { } } Результатом является следующая ошибка компилятора: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Поскольку класс Testявляется абстрактным классом , почему...