Jump to content


Photo

Classe + Data Atual = ?


  • Faça o login para participar
21 replies to this topic

#16 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 18/06/2007, 20:21

Aí eu te pergunto: se o valor do objeto vai ser setado apenas na inicialização do mesmo, pq criar um método setter que seria chamado apenas no construtor do objeto? É mto mais simples atribuir esse valor diretamente no construtor. Entende?


Sr. Diego Sampaio,
Não vou prolongar nossa discusão porque ela não terá fim, o caso é : Práticas de programação!
No meu modo de ver o método get por ( padrão ) é para chamar qualquer atributo de uma classe, com isso vc não precisa ficar criando métodos para fazer este tipo de operação!

Você deu a opinião de colocar no construtor da classe, também tá certo.. porque quando vc inicializar o objeto ele já vai vir com o valor que vc atribuiu..
mais eu não acho correto colocar no construtor da classe .. pois construtor pra mim seria apenas para SETTERS do atributos ..

Abraços,

Edição feita por: bobmatador, 18/06/2007, 20:29.

Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#17 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 18/06/2007, 20:37

HAVAIANA (:P)
Agora que tu falou tudo isso eu entendi direitinho o que o EX VIDADOIDA disse :D

Falopa!

#18 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 18/06/2007, 20:55

Sr. Diego Sampaio,
Não vou prolongar nossa discusão porque ela não terá fim, o caso é : Práticas de programação!
No meu modo de ver o método get por ( padrão ) é para chamar qualquer atributo de uma classe, com isso vc não precisa ficar criando métodos para fazer este tipo de operação!

Você deu a opinião de colocar no construtor da classe, também tá certo.. porque quando vc inicializar o objeto ele já vai vir com o valor que vc atribuiu..
mais eu não acho correto colocar no construtor da classe .. pois construtor pra mim seria apenas para SETTERS do atributos ..

Então vc concorda comigo bob, pq o assunto do tópico é sobre setar o valor pro atributo, e não pegar o valor. ;)

E tb, não é necessário criar um setter (ou até mesmo um getter), pra setar um valor dentro do próprio objeto.. os getters e setters se tornam dispensáveis.. como é o caso, novamente, do problema do nosso amigo hostdesigner..

tendeu? ninguém disse q o q vc disse era errado. nós estamos apenas com o foco no problema do tópico.. e neste caso, não são necessários, nem setters e nem getters. ;)
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#19 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 18/06/2007, 21:10

Eu estava testando aqui a classe com o _construct() e percebi que não está mais funcionando minhas váriáveis
class minhaClasse 
{

	function __construct( ) {
		
		return $this -> dataBackup = date( "d-m-Y_H" );
		
	}
	
}
as váriaveis que eu defini no ínicio do documento eu consigo chama-las dentro dos métodos desta forma
$this -> variavelDefinida
, mas, no caso de dataBackup isso não funciona, alguém poderia me dizer o por que?
Eu tenho que chamar assim? :huh:
$this -> __construct()
Falopa!

#20 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 18/06/2007, 23:07

Acho q não entendi.. Ou o q eu entendi pra mim é um absurdo.. hehehe

Tu quis dizer q o código a seguir não funciona pra ti?
<?
class Foo
{
	private $bar_c;
	private $bar_i = "Agora";
	
	public function __construct()
	{
		$this->bar_c = "Enjoy";
	}
	
	public function mostra()
	{
		echo $this->bar_c;
		echo $this->bar_i;
	}
	
	public function altera()
	{
		$this->bar_c = "Aproveite";
		$this->bar_i = "Now";
	}
}

$foo = new Foo();
$foo->mostra();
$foo->altera();
$foo->mostra();
?>
Veja que no código, eu coloquei o q eu entendi q não funciona pra ti.
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#21 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 18/06/2007, 23:21

HAVAIANA DIGITAL
Acho que o que eu entendi que você entendeu é exatamente o que está acontecendo, entre aspas, não é que não serve pra mim, serve sim, mas não está funcionando. Apresenta este erro
Fatal error: Cannot access empty property in C:\xampp\htdocs\portal\minhaClasse.class.php on line 72
advinha quem está na linha 72?
function __construct( ) {
		
		return $this -> $dataBackup = date( "d-m-Y_H" );
		
	}
Eu queria saber como é que chamava o valor de dataBackup pois eu não sabia trabalhar com esse negocio, mas, com seu exemplo eu entendi.

Deu certo agora era problema no dispositivo entre o teclado e a cadeira :D

Falopa!

#22 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 19/06/2007, 19:06

tendeu? ninguém disse q o q vc disse era errado. nós estamos apenas com o foco no problema do tópico.. e neste caso, não são necessários, nem setters e nem getters. ;)

Perfeitamente. A propósito, bela explicação. :D

Complementando, isto também é um padrão. Basta consultar o código de alguma classe PEAR que se vê este tipo de caso. Aliás, isso vem do padrão de codificação do C++. Padrão explorado até no JavaScript, que não é baseado no C++, inclusive. ;)

[]’s :DAté mais




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq