Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вложеные классы

18K
18 сентября 2009 года
cpPLover
25 / / 30.11.2006
Здравствуйте. Скажите пожалуйста как правильно объявить что то вроде такого:
 
Код:
class point {
     var $x;
     var $y;
     var $z;
}
class Oval {
     var $color;
     var $radius;
     var ovalPoint = new point;    
}

Я хочу чтобы класс "поинт" был вложен в класс "овал" чтобы я мог обращяться к координатам так:
 
Код:
$Oval1 = new oval;
$Oval1->ovalPoint->x=....

Подскажите кто понял вопрос. Заранее благодарен.
92
18 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
а проблема-то в чем?

[highlight=php]
class Oval {
var $point;
var $radius;

function Oval($x = 0, $y = 0, $r = 10) {
$this->point = new Point($x, $y);
$this->radius= $r;
}
}

$f = new Oval(10,20,5);
echo $f->point->x, " - ", $f->point->y;

[/highlight]

думаю, класс Point догадаешься как сделать :)
41K
18 сентября 2009 года
Trasn
11 / / 30.09.2008
Мож я конечно что-то не понял, а наследование не подойдет?
Код:
class point {
     var $x;
     var $y;
     var $z;
}
class Oval extends point {
     var $color;
     var $radius;

}
$Oval1 = new Oval;
$Oval1->x=.....
5
18 сентября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Trasn
Мож я конечно что-то не понял, а наследование не подойдет?

Т.е. вы хотите сказать что "овал" - это некое подмножество "точки", раз предлагаете наследовать указанным образом? :rolleyes:

41K
18 сентября 2009 года
Trasn
11 / / 30.09.2008
:confused: Я хочу сказать, что "овал" это класс, который содержит свойства "точки". Я так понял, что cpPLover'ру нужно обращаться к переменным с класса "точка" в классе "овал", вот и предложил такую идею
18K
18 сентября 2009 года
cpPLover
25 / / 30.11.2006
Все, получилось объявить, спасибо.
Проблема была в том что пробовал объявить везде кроме конструктора класса.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог