Есть класс со свойствами
Цитата
class myClass{
private $a, $b;
function a()
{
.....................
}
}
private $a, $b;
function a()
{
.....................
}
}
Я хочу чтоб можно было измениить свойства извне! Естественно не изменяя при этом private/
Спустя 2 часа, 16 минут, 38 секунд (30.10.2008 - 01:06) CaXaP написал(а):
Привет.
Ну уж не знаю, конечно, но, имхо, private на то и private, чтоб менять извне нельзя было.
Иначе толк то от него какой?)
Т.е. я считаю, что так сделать нельзя... мб кто получше знает, конечно)
Ну уж не знаю, конечно, но, имхо, 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]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!
вопроса не понял

Спустя 22 минуты, 16 секунд (30.10.2008 - 16:29) max_fr написал(а):
Вопрос какими методами в классе можно задать обращение к свойствам вне класса.
Естественно класс и свойства....
Естественно класс и свойства....
Код
Class myClass{
private $a, $b;
}
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]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!
вопроса не понял

Я так понял, что вопрос о том, как изменить эти свойства, которые приватные.
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]
Есть задумка, что с помощью методов свойства должны меняться! Но вот только с осуществлением у меня тормоза!
вопроса не понял

Я так понял, что вопрос о том, как изменить эти свойства, которые приватные.
max_fr! Делается это так:
class myClass
{
private $a, $b;
function set_a( $newval) // установить значение
{
$this->a=$newval;
}
function get_a() // получить значение
{
return $this->a;
}
// ну и для других свойств аналогично
}
я тоже понял, но думал это слишком понятно, и засомневался

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

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

Off-topic. Рассуждалка по теме.

Как сказал кто-то умный, любая (особенно гениальная) идея проходит 3 стадии восприятия (помню суть, а не дословно):
1. "Чё за хрень?"

2. "Может быть, и так".

3. "А кто же этого не знает?"

Товарищ, задавший вопрос, был на 1-й стадии в момент задавания вопроса. Ко 2-й стадии он перешел после ответа

Спустя 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();
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]
я тоже понял, но думал это слишком понятно, и засомневался 

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

Off-topic. Рассуждалка по теме.

Как сказал кто-то умный, любая (особенно гениальная) идея проходит 3 стадии восприятия (помню суть, а не дословно):
1. "Чё за хрень?"

2. "Может быть, и так".

3. "А кто же этого не знает?"

Товарищ, задавший вопрос, был на 1-й стадии в момент задавания вопроса. Ко 2-й стадии он перешел после ответа

+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();
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 - успех/нет иль др.

_____________