Еще один вопрос о наследовании - PullRequest
3 голосов
/ 24 августа 2010

Из быстрого поиска Google и статьи в Википедии о множественном наследовании, которая цитирует:

Множественное наследование относится к функции некоторых объектно-ориентированных языков программирования, в которой класс может наследовать поведение и функции более чем одного суперкласса. Это отличается от одиночного наследования, когда класс может наследовать не более одного суперкласса.

Я понимаю, что PHP не разрешает множественное наследование. Однако я не могу найти однозначного ответа о том, позволяет ли он расширять суперкласс более чем одному классу. Пример:

class a {}
class b extends a {}
class c extends a {}

С точки зрения того, что я пытаюсь сделать, я делаю RPG и хочу, чтобы «универсальный» класс символов включал в себя все методы и свойства, которые составляют шаблон символа. Затем я хочу, чтобы классы включали специфику для каждого типа персонажа (воин, маг и т. Д.), Такие как модификаторы статистики и специальные атаки.

Возможно ли это?

Ответы [ 5 ]

2 голосов
/ 24 августа 2010

Да, это вполне возможно. Вся цель наследования заключается в том, что несколько детей могут наследовать общие функции от родителя.

2 голосов
/ 24 августа 2010

Да, несколько классов могут расширять один и тот же класс в соответствии с вашим примером кода.

1 голос
/ 24 августа 2010

Да, любой класс может расширять базовый класс.В вашем примере просто невозможно, чтобы класс c расширил и a, и b.

1 голос
/ 24 августа 2010

Это основа ООП.Это возможно.

0 голосов
/ 06 апреля 2011

Так что в скорректированном примере, подобном приведенному выше

class a {}
class b extends a {}
class c extends b {}

c, не удалось получить свойства?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...