The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования PHP 8.3"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Релиз языка программирования PHP 8.3" +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 14:53 
Как пример жёсткого костылинга

class PollingSocketPrototype implements \ATL\ITask { use \ATL\TTask; } # bring in Task class first as first level parent

class PollingSocketPrototype2 extends \ATL\Socket\PollingSocketPrototype implements \ATL\ISocket { use \ATL\TSocket; } # bring in base Socket class as second level parent

abstract class PollingSocket extends \ATL\Socket\PollingSocketPrototype2 implements \ATL\Socket\IPollingSocket { use \ATL\Socket\TPollingSocket; }


abstract class StreamBasePrototype extends \ATL\Socket\PollingSocket implements \ATL\Socket\Capabilities\IBulk { use \ATL\Socket\Capabilities\TBulk; }

abstract class StreamBase extends \ATL\Socket\StreamBasePrototype
{
...
}

abstract class StreamPrototype extends \ATL\Socket\StreamBase implements \ATL\Socket\Capabilities\IReadBytes, \ATL\Socket\Capabilities\IDelimitedReads
{
    use \ATL\Socket\Capabilities\TReadBytes; # bring in readBytes capability
    use \ATL\Socket\Capabilities\TDelimitedReads; # bring in delimited reads capability
}

class Stream extends \ATL\Socket\StreamPrototype
{
...
}

Всё вот это вот решилось бы множественным наследованием легко и просто.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования PHP 8.3, opennews, 23-Ноя-23, 21:29  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру