@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
Я не понимаю ООП?

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 12:23
2500 руб./за проект
25 апр. 2024, в 12:21
10000 руб./за проект