[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Зачем объявлять свойства в классе?
Xes
class ClassPopularCountrys{
function __construct(){
global $lang_site;
$this->countrys = array();
$this->html_countrys = null;
$this->pattern_tpl = 1;
}
function GetCountrys(){
--------------

Зачем обявлять свойства класа еще например так:
class ClassPopularCountrys{
public $countrys;
public $html_countrys;
function __construct(){
global $lang_site;
$this->countrys = array();
$this->html_countrys = null;
$this->pattern_tpl = 1;
}
function GetCountrys(){
--------------


Я так понимаю описывать свойства надо вобщем то тогда когда мы хотим сделать их protected например, в случае кода свойство public их объявление можно опустить?



Спустя 37 минут, 20 секунд (30.04.2012 - 08:07) T1grOK написал(а):
ООП это в первую очередь порядок. Объявление свойств дает наглядность используемых свойств и их "доступность".

Спустя 7 минут, 48 секунд (30.04.2012 - 08:15) Nikitian написал(а):
Для документирования.
Такие объявления ide подхватывает и формирует удобные подсказки
  /**
* Email priority (1 = High, 3 = Normal, 5 = low).
*
@var int
*/

public $Priority = 3;

/**
* Sets the CharSet of the message.
*
@var string
*/

public $CharSet = 'iso-8859-1';

/**
* Sets the Content-type of the message.
*
@var string
*/

public $ContentType = 'text/plain';

Спустя 40 минут, 36 секунд (30.04.2012 - 08:55) vagrand написал(а):
Объявлять надо потому, что без объявления для установки и получения этих полей используются магические методы __set() и __get(), а это априори дольше чем обращение к уже объявленному свойству.
Я не утверждаю что использование методов __set() и __get() это плохо, но если в этом нет необходимости то надо объявлять поля класса.
+ все что было описано в других ответах на пост.

Спустя 5 часов, 30 минут, 45 секунд (30.04.2012 - 14:26) HErATuB написал(а):
Когда начнешь писать Фреймворки ты поймешь прелесть объявления свойств в класса

Спустя 3 часа, 42 минуты, 4 секунды (30.04.2012 - 18:08) vital написал(а):
Только я вижу вот это в "классе" и офигиваю?
global $lang_site;

Какой ооп, о чем вы..

Спустя 34 минуты, 37 секунд (30.04.2012 - 18:43) HErATuB написал(а):
Цитата (vital @ 30.04.2012 - 16:08)
Только я вижу вот это в "классе" и офигиваю?
global $lang_site;

Какой ооп, о чем вы..

Точняк)) Глобальная переменная в классе не используется
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.