Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ООП в PHP внутренние и private и public свойства класса.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вопрос относительно доступности свойств класса внутри него и за его пределами.
Maler_SI
Отправлено: 18 Мая, 2011 - 14:07:38
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  
Откуда: Ростов-на-Дону


Помог: 0 раз(а)




Здравствуйте! У меня такой вот вопрос. Что мне сделать, чтобы свойство того или иного класса было доступно только через соответствующий Get() и Set() ? Т.е. я написал класс

class Men {

var $name;

function Setname($name) {
$this->name = $name;
}

}

теперь создаю объект

$object = new Men;

и присваиваю свойству объекта name, какое-нибудь имя

$object->Setname("Nick");

фишка в том что я могу сделать это и не через сеттер Setname()
$object->name=Alex";

Мне не понятно как изолировать свойства класса как в C# например.
Там если переменна со статусом private то до неё кроме как через сеттер не обратишься.

Заранее всем спасибо.
 
 Top
OrmaJever Модератор
Отправлено: 18 Мая, 2011 - 14:11:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Maler_SI пишет:
Там если переменна со статусом private то до неё кроме как через сеттер не обратишься.

Хоть бы попробовали Улыбка
PHP:
скопировать код в буфер обмена
  1. class Men {
  2.  
  3.  private $name;
  4.  
  5.  function Setname($name) {
  6.  $this->name = $name;
  7.  }
  8.  
  9.  }


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Maler_SI
Отправлено: 18 Мая, 2011 - 14:17:53
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  
Откуда: Ростов-на-Дону


Помог: 0 раз(а)




Ой! А я чёта и не подумал! Спасибо огромное! =)
 
 Top
OrmaJever Модератор
Отправлено: 18 Мая, 2011 - 14:22:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




вобще ключевое слово var устарело и будет убрано в php6, место него используйте public, private, ptotected


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Maler_SI
Отправлено: 18 Мая, 2011 - 14:28:22
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  
Откуда: Ростов-на-Дону


Помог: 0 раз(а)




Я собственно поверхностно знаю php , а вот недавно встала задачка переписать пару модулей для joomla! CMS, я полез а там класс на классе и классом погоняет, вот на вашем сайте начал вчера изучать объектно ориентированное программирование в php. Раньше по институту немного сталкивался с C# , поэтому и спросил на счёт public и private . А вообще что посоветуете почитать про ООП в php, что-нибудь по современнее? =)
 
 Top
OrmaJever Модератор
Отправлено: 18 Мая, 2011 - 14:47:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




для понимает этого достаточно http://php.su/learnphp/phpoo/


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Maler_SI
Отправлено: 18 Мая, 2011 - 14:54:13
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  
Откуда: Ростов-на-Дону


Помог: 0 раз(а)




=) ну я в принципе тут и читаю, я по свежее спросил, потому что именно тут http://www.php.su/learnphp/phpoo и было то устаревшее слово var которое собираются убрать в php6. =)
 
 Top
Stierus Супермодератор
Отправлено: 18 Мая, 2011 - 15:15:37
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




http://www.php.net/manual/en/language.oop5.php тут всегда самое свежее
 
My status
 Top
Maler_SI
Отправлено: 18 Мая, 2011 - 16:50:10
Post Id



Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  
Откуда: Ростов-на-Дону


Помог: 0 раз(а)




Спасибо! =)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB