Как наследовать более одного класса в PHP?
Существует возможность наследовать от двух классов в PHP?
у Меня есть класс, который уже наследует от класса Usuarios
и хотел бы, чтобы она herdasse класс Crud
.
class Alunos extends Usuarios {
}
4 answers
Предпочитайте композицию наследованию.
Вам не нужно наследовать. Просто создавать экземпляры классов внутри него и использовать.
В PHP нет поддержки нескольких наследства.
Не может, почти язык-то позволяет, и даже те, которые позволят хлопотно.
Существует возможность использования interfaces
(см. также), который определяет договоры и совершает рода множественного наследования, делаете подтип, но не класса, то есть повторного использования кода, или то traits
что делает повторное использование кода в ограниченной степени. Это не то же, что унаследовать класс, но и помогает.
В любом случае почти все проблемы что человек думает, что нужно наследовать более одного класса, нарушает правила наследования, и там было бы хорошим человеком пересмотреть все ваше понимание о наследовании, скорее всего, этот человек , использует наследование, где не должно, - даже в простых случаях.
Я нахожу странным ,Aluno
быть,Usuario
, может быть, но не часто. Aluno
, конечно, не Crud
. Там не я думаю, что это даже одиночного наследования. На самом деле, ни состав этих двух вещей, будет соответствовать.
, то, что я всегда повторяю, что почти весь код ООП не правы, в целом имеет больше путаницы понятий, чем решение проблем. Скажу больше, если люди начнут использовать ООП уверен начинают сдаваться.
И вы могли бы создать интерфейс для инкапсуляции кода и намерении реализовать через класс Crud, что класс Пользователей extenderia, и, наконец, учеников класса унаследует их атрибуты и методы, вы можете создать экземпляр без проблем.
interface Conexao { metodos();}
class Crud implements Conexao{herdaria metodo(){}}
class Usuarios extends Crud{herdaria metodo(){}}
class Alunos extends Usuarios{herdaria os metodos de ambas}
$aluno1 = new Alunos();
Так будет проще.
В PHP существует функция под названием Traits. Это метод программирования (общей для других языков тоже), чтобы добавить дополнительные функции к классу.
Если цель в том, что несколько классов, используя методы CRUD, может быть хорошим выходом.