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

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

<?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() вызывается РНР автоматически всякий раз, когда мы затребуем неявное преобразование ссылки на объект в строку.








Дата добавления: 2015-08-26; просмотров: 666;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.