Laravel FileManager загрузить изображение и показать изображение на веб-интерфейсе

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

Используйте виртуальное свойство, если у вас есть реализация в базовом классе, но вы хотите разрешить переопределение.

Используйте ключевое слово override для переопределения члена. Отметьте элемент как sealed override, если он не должен быть переопределен снова.

Не отмечайте свойство как abstract или virtual, если вы не хотите, чтобы он был переопределен.

Используйте ключевое слово new, чтобы скрыть не абстрактный, не виртуальный элемент (это редко бывает хорошей идеей).

Как определить абстрактные свойства

Я обнаружил, что абстрактные свойства часто встречаются в дизайне, что подразумевает, что они будут иметь специфичную для конкретного типа логику и / или побочные эффекты. Вы в основном говорите: «Вот точка данных, которую должны иметь все подклассы, но я не знаю, как ее реализовать». Однако свойства, которые содержат большое количество логики и / или вызывают побочные эффекты, могут быть нежелательными. Это важное соображение, хотя для него не существует правильного / неправильного способа.

См.:

Лично я обнаружил, что я часто использую абстрактные методы, но абстрактные свойства редко.

0
задан B L Praveen 17 January 2019 в 15:15
поделиться