|
| |
|
|
| |
для: Valick
(10.03.2007 в 17:26)
| | | В интерфейсе не надо указывать никаких модификаторов.
Для начала разберитесь зачем применяются интерфейсы, и подобные вопросы отпадут сразу. Интерфейс - это описание действий (методов) на высоком уровне абстракции. Если вы реализуете интерфейс, то принимаете его реализацию как есть, т.е. нельзя объявлять методы с отличными от паблик модификаторами в классах, реализующих интерфейс. | |
| |
|
|
| |
|
|
| |
для: t4f
(10.03.2007 в 13:21)
| | | Пользуясь случаем хочу:
1) Извениться за то, что не понял утром вопрос. (проснулся я только к обеду))) )
2) В интерфейсе сначала в место public указывал abstract и получал ошибку, так тоже должно быть или как? Если я хочу, допустим, в одном классе указать функцию MyMethod public, а в другом классе MyMethod private, то как? Или у меня не должно возникать такой ситуации? | |
| |
|
|
| |
|
|
| |
для: cheops
(10.03.2007 в 13:17)
| | | Офигеть! Чтож будем надеяться на улучшение ситуации в РНР 7 или 8 :) | |
| |
|
|
| |
|
|
| |
для: t4f
(10.03.2007 в 13:11)
| | | В PHP как-то странно всё реализовано, вы можете обращаться к методам, как будто они все статичные, даже если методы обращаются к ещё не инициализированным членам класса - вызов всё равно прходит, правда заканчивается фатальной ошибокой, однако весь код до обращения к члену класса выполняется. | |
| |
|
|
| |
|
|
| |
для: cheops
(10.03.2007 в 13:09)
| | | 1. В интерфейсе нельзя указывать модификатор доступа - там все методы паблик.
2. Разве метод MyMethod статический, чтобы его можно было так вызывать? | |
| |
|
|
| |
|
|
| |
для: Iron
(10.03.2007 в 06:02)
| | | А вы не можете вызвать методы интерфейса - это действтительно чистая абстракция... Как не можете заполнить балон идеального газа. Следует вызывать метод класса
<?php
interface MyInterface
{
public function MyMethod($sometext);
}
class MyClass implements MyInterface
{
public function MyMethod($sometext){
echo $sometext;
}
}
MyClass::MyMethod('Method called!');
?>
|
| |
| |
|
|
| |
|
|
| |
для: bronenos
(10.03.2007 в 07:50)
| | | Интерфейсы в PHP имеются, разработчики практически полностью передрали объектную модель Java. | |
| |
|
|
| |
|
|
| |
для: Iron
(10.03.2007 в 09:39)
| | | нет.
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: Valick
(10.03.2007 в 08:32)
| | | Уточню вопрос: Возможно ли вызвать метод MyMethod не через класс MyClass, реализующий интерфейс MyInterface , а через сам интерфейс? | |
| |
|
|
| |
|
|
| |
для: Valick
(10.03.2007 в 08:32)
| | | Если бы не было слова [i]interface[i], я бы сказал, что все правильно. А с ним не знаю, как работать... (никто не просвятит?) | |
| |
|
|
|