русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Учим PHP работать с функциями и переменными внутри класса


Дата добавления: 2015-07-09; просмотров: 763; Нарушение авторских прав


Для того, чтобы обращаться к функциям и переменным внутри класса, нам необходимо знать данную переменную:

$this

Эта пеменная позволяет обращаться из одной функции внутри класса к другой, а так же к переменным этого класса. Как оно работает? Смотрим:

Итак, шаг первый. Создаём экземпляр класса:

Шаг второй. Обращаемся к нашему классу. Поскольку интересующая нас операция находится в функции anotherFunction(), то обратимся напрямую к ней:

Можно подумать, что на этом наша эпопея закончилась, ан нет, не так-то всё и просто. Заметили подвох в коде?

Интересующая нас функция — приватная. Честно говоря, сам не помню, рассказывал ли я это или нет. По-моему, очень бегло что-то выпалил на этот счет и понёсся дальше. Вернемся к тому моменту и рассмотрим поближе этот важный аспект. Ключевые слова public, protectedи privateуказывают на видимость функции или переменной для текущего исполняемого скрипта. Данные ключевые слова используются только в классах и интерфейсах. (Второе слово — страшное, рекомендую его не запоминать, а при наличии особого желании можно и загуглить).

Рассмотрим различия:

Таблица ключевых слов видимости

Параметр: Ключевое слово -> Public Protected Private
Можно вызывать вне класса, обращаясь напрямую Можно Нельзя Нельзя
Можно вызывать при клонировании модели класса из класса-клона (рассмотрим позднее) Можно Можно Нельзя
Можно вызывать исключительно из оригинальной модели класса(т.е. из класса, где эта функция/переменная расположена) Можно Можно Можно

 

Как вы видите, наш случай — первый (обращаемся к функции внекласса). Смотрим по таблице: функция приватная, ага, обращаться напрямую нельзя. Но ведь у нас есть функция someFunction, которая находится прямо в классе (третий случай в таблице), видим, что можно теперь все дороги открыты и можем со спокойной совестью к этой функции обращаться, если будем задействовать для этого функцию someFunction. Попробуем так сделать:



Что же при этом произойдет?

Пройдя все эти шаги, PHP в итоге доберется до вывода фразы «ОК», которую мы и увидим на экране. Можете попробовать сами, вот код:

 

class MyClass {

public function someFunction() {

$this->anotherFunction();

}

 

private function anotherFunction() {

print 'OK';

}

}

 

$class = new MyClass();

$class->someFunction();

 

 

Так, с областью видимости разобрались, кажется. Теперь попробуем разобраться с переменными. К переменным применим тот же самый принцип, что и к функциям. Однако существуют некоторые нюансы, которые нужно знать, работая с переменными. Рассмотрим типичный пример реализации переменных в классе:

Вот такой вот пример. Хочу обратить ваше внимание на деталь, которую нельзя упускать:

Видите, какое странное обращение к переменным? Мы не указываем символ доллара при обращении к переменным, но хотя когда объявляем их — ставить символы доллара обязательно.

 
 
Обратите внимание: при обращении к переменным внутри объекта использовать символы доллара запрещено, однако они необходимы при объявлении этих переменных.

 

 


Что же мы получим на экране в результате выполнения этого скрипта?

А получим мы значения всех трёх переменных. Почему? Обратимся к нашей таблице. Случай, который нас интересует — третий по счету. Значит, мы можем обращаться ко всем переменным и даже не смотреть на их тип видимости. А теперь обратимся к ним, находясь вне класса:

Руководствуясь таблицей, получим мы следующее:



<== предыдущая лекция | следующая лекция ==>
Основы ООП | Зачем всё это нужно


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.143 сек.