Вопросы по ООП в PHP

9.87K
.
Fenix_61, обычный класс можно наследовать только один, а интерфейсов можно наследовать несколько. к примеру
abstract class A {
function printHello(){}
}
interface B {
function printName(){}
}

interface C {
function printOther(){}
}

class Print extends A implements B, C {
function getData(){
echo $this->printHello() . $this->printName() . $this.printOther();
}
}
.
Так а смысл от интерфейсов если в них хранятся только описания функций?
.
~XeOn~, Я как пример привел, можно не только описания хранить, но и методы и переменные, это фактически тот же самый абстрактный класс, как я понял
.
Koenig (11.12.2012 / 19:09)
No-Tactic, разве вторым вариантом ты создашь объект? помоему просто свойства определишь для текущего
__clone(){} - это метод, который вызывается при клонировании обьекта, то есть обьект-то создается полюбому, дело в том, что его, к примеру, нужно заполнить начальными данными, вот и что для этого лучше использовать, стандартный конструктор, или написать все ручками.
.
No-Tactic (12.12.2012 / 05:21)
__clone(){} - это метод, который вызывается при клонировании обьекта, то есть обьект-то создается полюбому, дело в том, что его, к примеру, нужно заполнить начальными данными, вот и что для этого лучш
Ты про перезагрузку метода ?
.
Fenixrus, перегрузку
.
Так чем же, всё таки, интерфейс отличается от абстрактного класса?
.
Think different
L!MP, Множественным наследованием.
Но я так и не понял смысл этих интерфейсов. Какой толк от них если в них просто пишется список функция, одни названия, которые ничего не делают.
.
Folour (12.12.2012 / 12:03)
L!MP, Множественным наследованием.
Но я так и не понял смысл этих интерфейсов. Какой толк от них если в них просто пишется список функция, одни названия, которые ничего не делают.
Тоже
.
Folour, интерфейс несёт описательную роль.

Толк в том, что класс, который реализует интерфейс, должен реализовать все методы описаные в интерфейсе.

Таким образом обеспечивается полиморфизм классов реализующих один интерфейс.
Т.е все классы, реализующие один интерфейс, внешне, ведут себя одинаково, но могут сокрывать в себе различную реализацию.
Всего: 383