Я работаю над простым абстрактным классом базы данных. В моем использовании этого класса я хочу, чтобы какой-то экземпляр был синглом. Я думал о наличии абстрактного класса, который не является ничем , а затем распространяет его на другой абстрактный класс, который является синглом. Это возможно? Рекомендуемые? Edit: Я хочу иметь два абстрактных, которые практически идентичны, за […]
Хорошо или плохо для абстрактного класса реализовать интерфейс? оба примера ниже работают, но какой из них имеет больше смысла для вас ? Опция 1, interface A { function foo(); } abstract class B implements A { abstract public function foo(); } class C extends B { public function foo() { echo 'works'; } } $o […]
Привет, я очень опытен с PHP, но я понятия не имею, что делает абстрактный абстрактный текст, когда дело доходит до ориентированного на объект программирования. Может ли кто-нибудь объяснить на английском языке, для чего он может быть использован? В каких ситуациях я бы использовал ключевое слово abstract? Как это изменит класс / интерфейс?
В каждом примере, который я видел, расширенные классы реализуют интерфейсы своих родителей. Для справки, следующий пример: interface MyInterface{ public function foo(); public function bar(); } abstract class MyAbstract implements MyInterface{ public function foo(){ /* stuff */ } public function bar(){ /* stuff */ } } // what i usually see class MyClass extends MyAbstract implements […]
Возьмем следующий пример: abstract class Base { function __construct() { echo 'Base __construct<br/>'; } } class Child extends Base { function __construct() { echo 'Child __construct<br/>'; } } $c = new Child(); Исходя из фона C #, я ожидаю, что вывод будет Базовая __конструкция Ребенок __construct Однако фактический результат Ребенок __construct
Что такое абстрактный класс в php? Где его можно использовать?
Есть ли способ определить свойства абстрактного класса в PHP? abstract class Foo_Abstract { abstract public $tablename; } class Foo extends Foo_Abstract { //Foo must 'implement' $property public $tablename = 'users'; }
Я думаю, будет легче увидеть проблему в примере кода, чем писать вопрос в первую очередь. Вот мой php-код: <?php interface AnInterface { public function method(); } class AClass implements AnInterface { public function method() { echo __METHOD__; } } abstract class AnAbstractClass { abstract public function method( AnInterface $Object ); } class ConcreteClass extends AnAbstractClass […]
Я не понимаю, что я делаю неправильно … abstract class Css { abstract protected function parse($data); } abstract class CssElem extends Css { abstract protected function parse($data); } class Modifier extends CssElem { function __construct($data = null) { if( $data ) $this->parse ($data); } protected function parse($data) { // Some code… } } Это дает […]