русс | укр

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

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

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

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


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

Конструктор


Дата добавления: 2013-12-23; просмотров: 963; Нарушение авторских прав


Перегрузка преобразования в строку

Создание нескольких объектов

Доступ к методам

В РНР для вызова метода некоторого объекта используется оператор "стрелка" .

<?php ## Вызов метода объекта.

// Подключение каталога библиотек в include_path.

require_once "lib/config.php";

// Загрузка класса.

require_once "Math/Complex.php";

// Создаем новый объект класса Math_Complex.

$obj = new Math_Complex;

// Присваиваем начальное значение свойствам.

$obj->re = 16.7;

$obj->im = 101;

// Вызов метода add()c параметрами (18.09, 303) объекта $obj.

$obj->add(18.09/ 303);

// Выводим результат:

echo "({$obj->re}, {$obj->im})";

?>

Переопределить арифметические операторы (например, +, - и т. д.) для объектов в РНР нельзя .

В качестве параметра функции можно указывать объект другого (или того же самого) класса.

<?php ## Пример класса с методом,

class Math_Complex {

public $re, $im;

// Добавляет к текущему комплексному числу другое,

function add(Math_Complex $y) {

$this->re += $y->re;

$this->im += $y->im;

}

// Преобразует число в строку (например, для вывода).

function __toString() {

return "({$this->re}, {$this->im})";

}

}

?>

Мы явно указали перед параметром $у тип Math_Complex. Это говорит РНР, что мы можем передавать в данную функцию только объекты этого класса, но не другого. Указывать типы аргументов можно с пятой версии РНР. Например, при попытке указать вместо $у целое число мы получим ошибку во время исполнения программы:

$obj->add(1);

Fatal error: Argument 1 must be an object of class Math_Complex

В отличие от таких языков, как C++ и Java, в РНР не поддерживается создание в одном классе нескольких методов с одинаковым именем, которые бы различались только типами и количеством аргументов.



В РНР существует ряд имен методов, начинающихся с двойных подчерков, которые имеют специальное значение. Функция __tostring() вызывается РНР автоматически всякий раз, когда мы затребуем неявное преобразование ссылки на объект в строку.

Для определения конструктора класса используют метод с названием __construct(). Конструктор вызывается всякий раз, когда вы используете оператор new для объекта. В РНР у класса может быть только один конструктор.

<?php ## Пример класса с конструктором,

class Math_Complex2 {

public $re, $im;

// Инициализация нового объекта,

function __construct($re, $im) {

$this->re = $re;

$this->im = $im;

}

}

//создание объекта с помощью конструктора

$a = new Math_Complex2(314, 101);

?>



<== предыдущая лекция | следующая лекция ==>
Доступ к свойствам объекта | Модификаторы доступа


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


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

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

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


 


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

 
 

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

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