[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изменение свойств извне
max_fr
Доброго времени суток!

Есть класс со свойствами
Цитата
class myClass{
private $a, $b;

function a()
{
.....................
}
}


Я хочу чтоб можно было измениить свойства извне! Естественно не изменяя при этом private/





Спустя 2 часа, 16 минут, 38 секунд (30.10.2008 - 01:06) CaXaP написал(а):
Привет.

Ну уж не знаю, конечно, но, имхо, private на то и private, чтоб менять извне нельзя было.
Иначе толк то от него какой?)

Т.е. я считаю, что так сделать нельзя... мб кто получше знает, конечно)

Спустя 37 минут, 36 секунд (30.10.2008 - 01:43) Sephiroth_Lukaw написал(а):
Цитата
Private (закрытый): Закрытые методы или переменные доступны только внутри класса.

Спустя 13 часов, 8 минут, 51 секунда (30.10.2008 - 14:52) max_fr написал(а):
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!

Спустя 1 час, 14 минут, 32 секунды (30.10.2008 - 16:07) Sylex написал(а):
Цитата(max_fr @ 30.10.2008, 17:52) [snapback]53248[/snapback]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!


вопроса не понял wacko.gif

Спустя 22 минуты, 16 секунд (30.10.2008 - 16:29) max_fr написал(а):
Вопрос какими методами в классе можно задать обращение к свойствам вне класса.

Естественно класс и свойства....
Код
Class myClass{
private $a, $b;


}

Спустя 25 секунд (30.10.2008 - 16:30) sergeiss написал(а):
Цитата(Sylex @ 30.10.2008, 16:07) [snapback]53252[/snapback]
Цитата(max_fr @ 30.10.2008, 17:52) [snapback]53248[/snapback]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!


вопроса не понял wacko.gif

Я так понял, что вопрос о том, как изменить эти свойства, которые приватные.

max_fr! Делается это так:
class myClass
{
private $a, $b;

function set_a( $newval) // установить значение
{
$this->a=$newval;
}
function get_a() // получить значение
{
return $this->a;
}
// ну и для других свойств аналогично
}

Спустя 6 минут, 31 секунда (30.10.2008 - 16:36) max_fr написал(а):
Спасибо

Спустя 3 часа, 14 минут, 42 секунды (30.10.2008 - 19:51) Sylex написал(а):
Цитата(sergeiss @ 30.10.2008, 19:30) [snapback]53255[/snapback]
Цитата(Sylex @ 30.10.2008, 16:07) [snapback]53252[/snapback]
Цитата(max_fr @ 30.10.2008, 17:52) [snapback]53248[/snapback]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!


вопроса не понял wacko.gif

Я так понял, что вопрос о том, как изменить эти свойства, которые приватные.

max_fr! Делается это так:
class myClass
{
private $a, $b;

function set_a( $newval) // установить значение
{
$this->a=$newval;
}
function get_a() // получить значение
{
return $this->a;
}
// ну и для других свойств аналогично
}


я тоже понял, но думал это слишком понятно, и засомневался smile.gif

Спустя 13 часов, 23 минуты, 20 секунд (31.10.2008 - 09:14) sergeiss написал(а):
Цитата(Sylex @ 30.10.2008, 19:51) [snapback]53273[/snapback]
я тоже понял, но думал это слишком понятно, и засомневался smile.gif

Оно понятно и просто, когда знаешь smile.gif

Off-topic. Рассуждалка по теме. dumau.gif
Как сказал кто-то умный, любая (особенно гениальная) идея проходит 3 стадии восприятия (помню суть, а не дословно):
1. "Чё за хрень?" crying.gif
2. "Может быть, и так". blush.gif
3. "А кто же этого не знает?" acute.gif

Товарищ, задавший вопрос, был на 1-й стадии в момент задавания вопроса. Ко 2-й стадии он перешел после ответа smile.gif А те, кто раньше этим начал заниматься, уже давно не 3-й стадии.

Спустя 1 час, 14 минут, 26 секунд (31.10.2008 - 10:29) AndryG написал(а):
На одно свойство два метода -- не красиво :-)

Код
class my_class {
    private $a;
    function a(){
        //Если параметр есть - устанавливаем новое значение
        if(func_num_args()){
            $this->a = func_get_arg(0);
        }
        return $this->a;
    }
}

$c = new my_class();

$c->a(3);

echo $c->a()."\n";

echo $c->a()."\n";

exit();

Спустя 3 часа, 41 минута, 41 секунда (31.10.2008 - 14:10) Sylex написал(а):
Цитата(sergeiss @ 31.10.2008, 12:14) [snapback]53295[/snapback]
Цитата(Sylex @ 30.10.2008, 19:51) [snapback]53273[/snapback]
я тоже понял, но думал это слишком понятно, и засомневался smile.gif

Оно понятно и просто, когда знаешь smile.gif

Off-topic. Рассуждалка по теме. dumau.gif
Как сказал кто-то умный, любая (особенно гениальная) идея проходит 3 стадии восприятия (помню суть, а не дословно):
1. "Чё за хрень?" crying.gif
2. "Может быть, и так". blush.gif
3. "А кто же этого не знает?" acute.gif

Товарищ, задавший вопрос, был на 1-й стадии в момент задавания вопроса. Ко 2-й стадии он перешел после ответа smile.gif А те, кто раньше этим начал заниматься, уже давно не 3-й стадии.


+10!

Цитата(AndryG @ 31.10.2008, 13:29) [snapback]53299[/snapback]
На одно свойство два метода -- не красиво :-)

Код
class my_class {
    private $a;
    function a(){
        //Если параметр есть - устанавливаем новое значение
        if(func_num_args()){
            $this->a = func_get_arg(0);
        }
        return $this->a;
    }
}

$c = new my_class();

$c->a(3);

echo $c->a()."\n";

echo $c->a()."\n";

exit();


прикольно... но бывают случаи исключения по-моему... Например при установке свойства функция возвращает результат bool - успех/нет иль др. smile.gif


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.