2015-07-08 5 views
0

Я знаю, что если я создам класс abstract, то я не могу создать его экземпляр, и это будет просто базовый класс (расширение его для других классов) , Теперь я хочу знать, что такое функция abstract? (или же есть abstract свойство?)какая разница между абстрактным классом и абстрактной функцией

Я видел функцию без определения в abstract класса (также функция была абстрактной), так почему? Что-то вроде этого:

Abstract class test{ 
     Abstract function index(); 
} 

ответ

1

Абстрактный класс не может быть создан. Скажем, у вас есть:

Abstract class People { 

} 

Вы не можете сделать $people = new People();

Вам необходимо продлить его, чтобы иметь возможность создать его экземпляр, как:

class Man extends People { 

} 

$people = new Man(); 

Что касается абстрактных методов, они содержат только метод подписи в абстрактном классе, и они ДОЛЖНЫ быть реализованы в дочерних классах.

Abstract class People { 
    abstract public function getAge(); 
} 
class Man extends People { 
    public function getAge() { 
    //Blah Blah 
    } 
} 
+0

А я вижу, просто вы можете сказать мне, есть ли абстрактные переменные? –

+0

Нет, проверьте это сообщение: http://stackoverflow.com/questions/7634970/php-abstract-properties – Mindastic

2

Абстрактная функция - это функция, которая еще не реализована. Реализация абстрактной функции должна выполняться в унаследованных классах.

Класс с абстрактной функцией должен быть абстрактным классом.

Абстрактная функция позволяет вам писать алгоритмы в абстрактном классе без определения всех подфункций (объявленных абстрактных), поскольку эти подфункции могут зависеть от контекста конкретных унаследованных классов.

0

От: http://php.net/manual/en/language.oop5.abstract.php

PHP 5 вводит абстрактные классы и методы. Классы, определенные как , аннотация не может быть создана, и любой класс, содержащий не менее , один абстрактный метод также должен быть абстрактным. Методы, определенные как абстрактные , просто объявляют подпись метода - они не могут определить реализацию .

Смежные вопросы