Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
они там все лишние,
непонятно зачем делать $s->Skrug($pi, $r);
если можно сделать $s->Skrug( $r);
и echo "Площадь: ".(pi()*($r*$r)) ." м2.";
White
Отправлено: 14 Сентября, 2011 - 08:26:49
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
говорят кстати что с 6 версии пхп var $s; вызовет ошибку. используйте private $s или public $s
----- if(time()>1356048000) die();
Stierus
Отправлено: 14 Сентября, 2011 - 14:50:06
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
С точки зрения ООП у вас должно быть 2 класса - квадрат и круг, у которых были бы свои свойства (радиус и длина стороны) и методы (найти площадь, пересечение и тд)
private$pi=3.14;//мало ли для чего вы его передаете в качестве аргумента
public$radius=0;
publicfunction __construct($radius=0){
$this->radius=$radius;
}
publicfunction getArea(){
return$this->radius*$this->radius*$this->pi;
}
}
class square{...}
$circle=new circle(10);
echo$circle->getArea();
ЗЫ
У квадрата все стороны равны
EuGen
Отправлено: 14 Сентября, 2011 - 15:50:05
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Да и число PI я бы не стал хранить даже в качестве приватного свойства класса.
Константа все-таки.
Или можно себе представить случай, когда оно равно другому числу?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Stierus
Отправлено: 15 Сентября, 2011 - 12:23:07
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Stierus пишет:
разную точность числа пи
Тогда я бы round использовал.
Хотя да - какой-то умник уже объявлял число pi равное 4
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
caballero
Отправлено: 15 Сентября, 2011 - 23:03:22
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
нужна критика именно с точки зрения ООП
Там вообще нет ООП. Наличие ключевого слова class еще не делает программу объектно -ориентированной. В частности здесь вообще нет осмысленного объекта кроме двух функций реализованных как методы ничего не означащего класса
Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010 Откуда: Тверь
Помог: 4 раз(а)
без лишнего кода общий принцип.
1) максимальная абстракция. Абстрактный класс "фигура" к нему интерфейс с описанием методов (например получение периметра и площади).
2) конкретизирующие классы наследующие класс "фигура" например "квадрат" и круг по своему реализующие абстрактные методы
начните с этого, почитайте про наследование, полиморфизм в ООП
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.