При создании подкласса в него можно ввести новые методы и поля, а также изменить уже имеющиеся методы и поля. Такой прием называется переопределением. Для переопределения достаточно создать в подклассе метод с тем же самым именем и модификатором доступа (public, protected, private), что и у метода в родительском классе.
|
Наследование является основополагающим принципом ООП. Оно позволяет создать новый класс в качестве подкласса, производного от другого (родительского) класса, используя ключевое слово extends. Обратимся к следующему примеру:
|
В языке РНР имеется встроенный класс, называемый стандартным. Объект этого класса можно создать следующим образом:
|
Прежде чем воспользоваться объектом, необходимо создать его. Большинство объектов создаются в Joomla тремя способами.
|
В большинстве классов определяется специальный метод под названием construct () . Этот метод вызывается автоматически при создании объекта данного типа. Он содержит код, требующийся для инициализации объекта, например, для установки значений по умолчанию в полях объекта.
|
Классы являются стандартными блоками объектно-ориентированных программ. Класс можно рассматривать в качестве шаблона для создания объектов данного типа. Так, класс JDocumentHTML служит для создания переменной (например, $doc) ссылки на объект типа JDocumentHTML. Как правило, классы содержат поля и методы, иначе называемые функциями. Для вызова метода служит следующий синтаксис:
|
В такой крупной кодовой базе, как Joomla, исходный код приходится распределять по многим файлам. А для этого нужно разбираться в различных типах файлов РНР, знать, как они включаются в работающую программу и что при этом происходит. Практически все файлы в Joomla разделяются на три категории.
|
Если переменная передается функции или методу по ссылке с помощью префикса &, то при изменении ее значения в теле функции или метода внесенные изменения становятся доступными в коде, из которого вызывалась функция или метод. Обратимся к следующему примеру:
|
Большая часть кода программ, написанных для Joomla, содержится в теле функций, которые, в свою очередь, находятся в классах. Но иногда функции создаются как автономные единицы программного кода и не входят в состав классов. Функции, объявляемые в классах, зачастую называются методами (именно так их принято называть в языках ООП), хотя многие пользуются обозначениями "функция" и "метод" попеременно. Следует также заметить, что в языке РНР зарезервировано ключевое слово только для функции, но не для метода.
|
Константы могут быть определены в языке РНР с помощью оператора define, как показано в приведенном ниже примере.
|
|
|
|
Страница 3 из 40
|