Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В чём разница между модификаторами public, protected, private и abstract?
 
 автор: SoloNifer   (04.11.2007 в 21:34)   письмо автору
 
 

В чем разница между

function abc()
public function abc()
protected function abc()
private function abc()
и
abstract public function abc()


для чего используют каждый метод?, большое спасибо!!!

   
 
 автор: Pistolet   (04.11.2007 в 22:01)   письмо автору
 
   для: SoloNifer   (04.11.2007 в 21:34)
 

function abc() - используется в процедурном программировании для обьявления функции.

остальное в обьектно - ориентированном внутри класса для определении прав доступа:
Модификаторы:
public - доступ открыт извне класса.
private - только из методов класса.
proteсted - доступ из методов произвольного класса.

   
 
 автор: SoloNifer   (04.11.2007 в 22:42)   письмо автору
 
   для: Pistolet   (04.11.2007 в 22:01)
 

а что такое abstract?

   
 
 автор: cheops   (05.11.2007 в 12:14)   письмо автору
 
   для: SoloNifer   (04.11.2007 в 22:42)
 

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

   
 
 автор: bronenos   (04.11.2007 в 22:53)   письмо автору
 
   для: Pistolet   (04.11.2007 в 22:01)
 

поправка - function также может использоваться для объявления метода класса, но в PHP4, а также в PHP5, если память не изменяет, но тогдаона автоматически воспринимается как.. блин, хотел сказать public да поймал себя на том что сам забыл =(

   
 
 автор: cheops   (05.11.2007 в 12:11)   письмо автору
 
   для: Pistolet   (04.11.2007 в 22:01)
 

>proteсted - доступ из методов произвольного класса.
являющихся наследниками данного класса.

   
 
 автор: Pistolet   (04.11.2007 в 22:59)   письмо автору
 
   для: SoloNifer   (04.11.2007 в 21:34)
 

Методы, объявленные как абстрактные, несут, по существу, лишь описательный смысл и не могут включать какой-либо функционал. (C) докуметнация.
До этого ни разу не встречал этот модификатор...

   
 
 автор: Саня   (05.11.2007 в 00:44)   письмо автору
 
   для: SoloNifer   (04.11.2007 в 21:34)
 

Ключевые слова public, private и protected характеризуют одну из основных свойст ООП — инкапсуляцию. Инкапсуляция позволяет установить область видимости компонент. Компоненты класса, помеченные ключевым словом public, доступны любым классам, protected компоненты доступны только наследуемым классам, а private компоненты доступны только внутри класса, не наследуются и не доступны извне.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования