@protasovmikhail

Как наследуются функций в PHP?

Класс single - типичный синглетон.

baseClass наследует сингл, в нем есть некие функции:
abstract class baseClass extends single
{
  public function func1()
  {
   return __CLASS__;
  }
}

Так же есть класс наследующий baseClass
class class1 extends baseClass
{
 public function func2()
  {
   $this->func1(); //return - baseClass , а должен, маму его, т.е. папу, т.е. меня за ногу - class1;
  echo __CLASS__; // здесь выдаст class1
  }
}


Возвращает baseClass, я голову сломал. Я не понимаю ООП? Базовый класс мною создан дабы не писать каждый раз одни и те же функции и переменные. Т.е если class1 and class2 наследуют baseClass то и func1 разные (в моем случае разность в возвращаемых именах)

Пойду перекурю.....
  • Вопрос задан
  • 491 просмотр
Решения вопроса 2
@protasovmikhail Автор вопроса
Короче всем кому надо чтобы класс использовал функции как надо, но не писать их в каждом классе используем traits php , зачем такой ооп если я не могу унаследовав от предков руки ими пользоваться от своего лица.......дибилизм или я не дорос до постижения ооп

псы конечно не дорос, но.... все же...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
функции не наследуются.

> Возвращает baseClass, я голову сломал.

константа эта (__CLASS__) возвращает имя класса в котором вызываемый код вы пишите. Если вам нужен тип инстанса - используйте get_class($this). Он будет возвращать именно тип инстанса с которым вы работаете.

p.s. завязывать код на имена типов - плохая идея.
Ответ написан
@shaqster
Symfony3 Guru
Я не понимаю ООП?

Вы не понимаете ООП
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект