|
|
|
| пытаюсь разобраться с ООП
непонятен следующий момент- как внутри одного класса передать переменную от одной функции к другой?
К примеру есть класс:
class one
{
function two()
{
$c=1;
}
function three()
{
echo $c;
}
}
|
Как сделать так, чтобы
$obj=new one();
echo $obj->three(); - выводило '1' ? | |
|
|
|
|
|
|
|
для: beowulf
(07.01.2006 в 12:01)
| |
<?
class one
{
var c1;
function two()
{
$this->c=1;
}
function three()
{
echo $this->c;
}
}
$obj = new one;
$obj->three();
?>
|
| |
|
|
|
|
|
|
|
для: Artem S.
(07.01.2006 в 12:22)
| | В предложенном выше варианте маленькая ошибочка. В определении члена класса забыли $ поставить
Вот мои варианты
<?
class one
{
var $c="Это член класса";
function two()
{
$this->c=1;
}
function three()
{
$this->two();
echo $this->c;
}
}
$obj = new one;
$obj->three();
?>
|
<?class one
{
function two()
{
$c = 1;
return $c;
}
function three()
{
$str = $this->two();
echo $str;
}
}
$obj = new one();
$obj->three();
?>
|
<?class one
{
function two()
{
$c=1;
echo $c;
}
function three()
{
$str = $this->two();
}
}
$obj = new one();
$obj->three();
?>
|
| |
|
|
|
|
|
|
|
для: PantiL
(07.01.2006 в 12:31)
| | спасибо! | |
|
|
|
|
|
|
|
для: beowulf
(07.01.2006 в 12:38)
| | а как быть в таких случаях?
class one
{
var $c="Это член класса";
function two()
{
echo '2';
$this->c=1;
}
function three()
{
$this->two();
echo $this->c;
}
}
$obj = new one;
$obj->three();
|
Ведь в таком случае выведет и '2'? | |
|
|
|
|
|
|
|
для: beowulf
(07.01.2006 в 18:44)
| | Да выведит сначала 2, затем 1. А что не нравится? | |
|
|
|
|
|
|
|
для: cheops
(07.01.2006 в 20:41)
| | а надо например только 1 | |
|
|
|
|
|
|
|
для: beowulf
(07.01.2006 в 21:04)
| | Уберите echo '2'; Вообще любые вычисления и вывод следует разделять. Функция должна выполнять только одну задачу - лучше увеличте в 2 раза число функций. | |
|
|
|