Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2013, 17:32   #1
super-php
Пользователь
 
Регистрация: 07.03.2013
Сообщений: 37
По умолчанию Рисование фигур

Сделал пример с книги, должен по идее рисоваться круг и результат быть такой, как в книге:

Код:
Рисуем круг: (0, 0, 100)
Прошло некоторое время...
Стираем круг: (О, О, 100)
Рисуем круг: (101, 6, 100)
Прошло некоторое время...
Стираем круг: (101, 6, 100)
Рисуем круг: (101, б, 200)
Прошло некоторое время...
Стираем круг: (101, б, 200)
но почему то выводит такое:

Код:
Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)
Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)
Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)
и не по порядку выводит, а грузится экран и все выводится сразу.

PHP код:
<?php ## Базовый класс — геометрическая фигура,
class Shape {
// Любая фигура имеет координаты центра, а также масштаб.
// Делая координаты скрытыми членами класса, мы гарантируем,
// что никто не сможет изменять их напрямую.
private =0=0$scale=1.0;
// Конструктор класса. Отображает фигуру на экране.                                                                            
public function __construct() {
$this->show() ;
}
// Деструктор класса. Стирает фигуру с экрана,
public function __destruct() {
$this->hide();
}
// Переместить фигуру на ($dx, $dy) точек,
public final function moveBy($dx$dy) {
// Вначале стираем фигуру с экрана.
$this->hide();
// Затем изменяем координаты.
$this->+= $dx;
$this->+= $dy;
// Наконец, выводим фигуру на новом месте.
$this->show();
}
// Изменить масштаб отображения фигуры,
public final function resizeBy($coef) {
$this->hide();
$this->scale *= $coef;
$this->show();
}
// Методы возвращают координаты центра и масштаб.
public final function getCoord() { return array($this->x$this->y); }
public final function 
getScale() { return $this->scale; }
//** "Защищенные" методы, доступные только для производных классов.
//**. Вызывать их в программе напрямую нельзя (да и не нужно).
protected function hide() {
die(
"Что здесь делать? Неизвестно!");
}
protected function 
show() {
die(
"Что здесь делать? Неизвестно!");
}
}

class 
Circle extends Shape {
// Радиус круга в масштабе 1:1.
private $radius;
// Создает новый объект-круг с указанием радиуса,
public function construct($radius=100) {
$this->radius $radius;
parent::__construct();
}
// Отображает круг на экране.
public function show() {
list (
$x$y) = $this->getCoord();
$radius $this->radius $this->getScale();
// Разместите "настоящий" код прорисовки круга ($х, $у, $radius).
echo "Рисуем круг: ($radius)<br>";
}
// Стирает фигуру с экрана,
public function hide() {
list (
$x$y) = $this->getCoord();
$radius $this->radius $this->getScale();
// Разместите "настоящий" код стирания круга ($х, $у, $radius).
echo "Стираем круг: ($radius)<br>";
}
}


$shape = new Circle();

// Далее мы можем "забыть", что $shape — это в действительности
// круг, работать с ним, как с любой геометрической фигурой.

sleep(1); echo "Прошло некоторое время...<br>";
$shape->moveBy(101,6) ;
sleep(1); echo "Прошло некоторое время...<br>";
$shape->resizeBy(2.0) ;
sleep(1); echo "Прошло некоторое время...<br>";

?>
621-625 стр PHP 5 (2 издание, Дмитрий Котеров, Алексей Костарев, 2008)

Последний раз редактировалось super-php; 26.03.2013 в 17:45.
super-php вне форума Ответить с цитированием
Старый 27.03.2013, 02:13   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

В строке
public function construct($radius=100) {
забыли два подчёркивания поставить перед construct
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с# рисование фигур luser-user Помощь студентам 10 16.02.2013 22:29
Рисование простых фигур DimaTs C# (си шарп) 2 27.11.2011 20:08
Рисование фигур(На Дельфи) Nach Помощь студентам 2 16.11.2011 13:14
Рисование фигур Nach Общие вопросы Delphi 0 16.11.2011 08:56
рисование набора фигур. VB my_sappho_story Помощь студентам 3 10.01.2011 15:28