...sobre OOP:
não importa: se vc está fora da classe (ou fora de classes do mesmo
'pacote'), não dá pra chamar método privado.
....sobre overload de métodos
overloading não é isso. overload (de métodos) seria por exemplo (em
java, php não sei como ficaria pq dá pra colocar valores-padrão ao
explicitar um método)
class MyClass {
public String funcao1() {
// faz uma coisa
}
public String funcao1(int foo) {
// faz outra coisa
}
public String funcao1(String foo) {
// faz uma terceira coisa
}
}
para um mesmo nome de método vc pode utilizar o método sem passar
parâmetros, passando um int ou passando uma String que ele iria te
redirecionar à função certa dentre as 3.
já em PHP vi que seria algo parecido com utilização de __call(),
__get(), __set()...
...para fazer
$s = new teste();
$b = $s->Y();
$b->X();
vc precisa ter:
class teste2 {
public function X(){}
}
class teste{
public function Y() {
$t2 = new teste2();
return $t2;
}
}
seria vc retornar uma outra instância de um objeto qualquer...
aí vc pode criar sua cadeia...
$t->Y()->X();
seria o mesmo que:
$t2 = $t->Y();
$t2->X();
por aí vai....
e se vc quer retornar X() da seguinte classe:
class teste {
private function X(){}
public function Y(){}
}
já que X é privado, vc poderia botar dentro de Y:
public function Y() {
//blablabla
return $this->X();
}
espero ter ajudado
--
--------------------------------------------------
Carlos Kazuo - Ninetails
ninetai...@gmail.com