ООП интерфейс

lecas

Новичок
ООП интерфейс

при создании файла с текстом PHP:
PHP:
 <?php  
   interface Val {  
  abstract function valtor();    
 }  
 ?>
выдает
Fatal error: Access type for interface method Validator::validate() must be omitted in
пример взял из книжки. В чём может быть проблема???
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Прям так и написано?
Что за книга?
 

kruglov

Новичок
В переводе на русский написано "уберите public или private перед validate()

Никакого validate в коде не видате
 

lecas

Новичок
а так

<?php
interface Validator {
abstract function validate();
}
?>

ну вообщем заработало.
убрал abstract
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
lecas
В мануал посмотреть пробовали?

1. [m]Interface[/m]
2. [m]Visibility[/m]
3. [m]abstract[/m]

-~{}~ 17.12.07 20:48:

Чет гугл ничего про этот код из книги не знает. Странно...
 

lecas

Новичок
php 5 для начинающих.
Дэйв У. Мерсер, Стивен Д. Новицки и др
 

romy4

invoke [brain]
в топку такие книги. В интерфейсах не могут использоваться операторы видимости (public,protected,private). Оговорюсь, что public интерпретатором воспринимается нормально, но это, скорее, просто игнорирование того, что public не влияет на видимость.
 

romy4

invoke [brain]
Абстрактные классы и интерфейсы - два разных метода разработки. Объеденять их в одно нельзя.

-~{}~ 18.12.07 15:50:

так же как и в абстрактном классе нельзя переопределять методы определённые в интерфейсе.

interface I_CLASS
{
function foo();
}

abstract class A_CLASS implements I_CLASS
{
abstract function foo();
}
 
Сверху