|
|
|
| Добрый день, начал ихзучать ОПП. Ничего в этом не понимаю. Сразу появилось много ворпосов.
Допустиму у нас есть класс Calc, который всего навсего складывает 2 числа. Я ниже накидал 4 варианта.
1-ый вариант
<?php
class Calc {
var $a;
var $b;
var $result;
function summa()
{
$this->result = $this->a + $this->b;
return $this->result;
}
}
$Calc = new Calc;
$Calc->a = 5;
$Calc->b = 6;
echo $Calc->summa();
?>
|
2-ой вариант.
<?php
class Calc {
function summa($var1, $var2)
{
$result = $var1 + $var2;
return $result;
}
}
$Calc = new Calc;
echo $Calc->summa(1,7);
?>
|
3-ий вариант
<?php
class Calc {
var $a;
var $b;
var $result;
function summa($var1, $var2)
{
$this->a = $var1;
$this->b = $var2;
$this->result = $this->a + $this->b;
return $this->result;
}
}
$Calc = new Calc;
echo $Calc->summa(5,7);
?>
|
4-ый вариант.
<?php
class Calc {
var $a;
var $b;
var $result;
function summa($color)
{
$this->result = $this->a + $this->b;
return "<font color=".$color.">".$this->result."</font>";
}
}
$Calc = new Calc;
$Calc->a = 5;
$Calc->b = 6;
echo $Calc->summa('red');
?>
|
Как я понимаю суть процесса. Допустим у нас есть класс, с набросками методов и свойств. Мы пишем новый метод, если в нем как-то используется свойства класса, то используем их. (Пример 1), если же используется дополнительный параметр, который не связан с классом, то используем дополнительный параметр. (Пример 4).
Интересует куда использовать вариант 2)) Во общем интересуют наставления) | |
|
|
|
|
|
|
|
для: Sonic
(16.07.2009 в 12:44)
| | почитайте здесь. почитайте еще пару похожих статей.
когда будете знать что такое классы, приступайте к изучению какого-нибудь фрэймворка(например, Zend Framework - примеров и литературы - куча). Так вы освоите классы намного быстрее и лучше. | |
|
|
|
|
|
|
|
для: Sonic
(16.07.2009 в 12:44)
| | 3й вариант можно сделать проще:
<?php
class Calc {
var $sum;
function Calc($var1, $var2) {
$this->sum = $var1 + $var2;
}
function Sum(){
return $this->sum;
}
}
$Calc = new Calc(5,7);
echo $Calc->Sum();
?>
|
Лучше объявлять в данном случае переменные в конструкторе. | |
|
|
|