Só chegou sua segunda mensagem pra mim As vezes penso que essa lista não é mto confiável..
2010/10/15 Eric Saboia <[email protected]> > Estranho, Rafael, não tinha visto nenhuma mensagem sua nessa thread > ainda... > > 2010/10/15 Rafael V. de Oliveira <[email protected]> > > Eu acabei por escrever "errado". >> >> Para melhorar o exemplo, dentro da classe Veiculo, o método andar não pode >> ter implementação. >> Seria apenas: >> abstract protected function andar(); >> >> Quem faz a implementação do método é a "herdeira". >> >> >> Em 2010/10/15, às 15:54, Rafael V. de Oliveira escreveu: >> >> Eu não acho que o CodeIgniter é o melhor para utilizar nestes exemplos, >> uma vez que ele está preso no PHP4. >> >> Mas a abstração é mais ou menos isso. >> >> Tanto a pessoa física quanto a jurídica partilha dados em comum. >> Ao herdar as 2 classes de uma super-pai, neste caso a classe Pessoa, eu >> não preciso reescrever métodos. >> >> Outro exemplo recorrente é do veículo. >> >> abstract class Veiculo { >> public function set_rodas( $quantidade ) >> { >> $this->rodas = $quantidade; >> } >> >> abstract protected function andar() >> { >> echo 'moving, moooooving'; >> } >> } >> >> class Carro extends Veiculo { >> protected function andar() >> { >> echo 'carro em movimento'; >> } >> } >> >> $veiculo = new Carro(); >> $veiculo->set_rodas(4); >> $veiculo->andar(); >> >> >> Mais ou menos isso. >> >> Corrigam-me se eu estiver errado, mas isso não dá pra fazer no >> CodeIgniter. >> >> Em 2010/10/15, às 15:39, Ademir C Gabardo escreveu: >> >> Foi a mesma conclusão a que cheguei. >> Lembrando que esse é apenas um exemplo didático, uma tentativa de >> compreender como poderia ser feita a abstração de classes na estrutura do >> CodeIgniter. >> Talvez (e muito provavelmente) existam exemplos mais práticos e simples de >> aplicar, mas a faculdade deixa a gente meio bitolado as vezes. >> Falou em abstração de classe sempre lembra da classe pessoa, exemplo >> recorrente. >> >> Eu estou tentando compreender melhor esses conceitos de abstração. >> >> Na prática, eu crio uma classe para pessoa física e outra para jurídica. >> Não costumo misturar as duas. >> >> Galera, opiniões? Críticas? Mais dúvidas? Novas sugestões? >> >> Att >> Ademir >> >> >> *De:* [email protected] [mailto: >> [email protected]] *Em nome de *Eric Saboia >> *Enviada em:* sexta-feira, 15 de outubro de 2010 11:33 >> *Para:* CodeIgniter Brasil >> *Assunto:* Re: [CodeIgniter] Duvida sobre abstração de Classe >> >> >> Pensando bem, apesar de não fazer sentido pra mim fazer tal coisa em um >> Controller, a solução seria a mesma pra Models: >> >> abstract class Pessoa extends Model { >> >> } >> >> class PessoaFisica extends Pessoa { >> >> } >> >> Dessa forma, PessoaFisica herdaria todos os metodos de Model, além de >> herdar os métodos não abstratos de Pessoa, e seria obrigada a implementar os >> métodos abstratos de Pessoa >> 2010/10/15 Eric Saboia <[email protected]> >> >> Nem entendi seu problema, por isso fica difícil ajudar. >> >> Não entendo pra que você quer estender uma classe abstrata em controllers, >> no seu exemplo de Pessoas, não seria isso uma entidade, e portanto seria >> feito nos Models? >> 2010/10/4 Julio Fagundes <[email protected]> >> >> >> Pois é! tipo em cascata. >> >> Nessa caso se a class abstrata herdar ao controller, acho que matou a >> charada não? >> >> Sds >> Julio Fagundes >> >> >> Vinicius Cruz escreveu: >> >> Quando diz que não suporta herança múltipla, senão me engano o C suporta, >> seria fazer algo assim: >> >> class teste extends teste1, teste3 >> >> Portanto, é válida a class abstrata herdar, e a concreta herdar a >> abstrata. >> >> Att, >> Vinicius Cruz >> http://twitter.com/vinaocruz >> http://www.zime.com.br/ >> >> Em 4 de outubro de 2010 17:21, Ademir C Gabardo < >> [email protected] <mailto:[email protected]>> escreveu: >> >> >> Viajar não viajou, mas o problema é que o PHP Não tem suporte a >> Herança Multipla, então se ele já herda as propriedades do >> Controlle não poderá herdar novamente da classe abstrata, eis o >> dilema. >> Alguma sugestão? >> Att >> Ademir >> >> ----- Original Message ----- >> *From:* Vinicius Cruz <mailto:[email protected]> >> *To:* CodeIgniter Brasil <mailto:[email protected]> >> *Sent:* Monday, October 04, 2010 5:11 PM >> *Subject:* Re: [CodeIgniter]Duvida sobre abstração de Classe >> >> No caso, seria adicionar na class abstrata a herança do >> Controller? Consequentemente, teriamos as classes concretas >> com os métodos herdados da classe abstratas e os métodos do >> controller principal. >> >> Viajei?! >> >> Att, >> Vinicius Cruz >> http://twitter.com/vinaocruz >> http://www.zime.com.br/ >> >> >> Em 4 de outubro de 2010 16:51, Ademir C Gabardo >> <[email protected] <mailto:[email protected]>> >> >> escreveu: >> >> Galera, estou escrevendo um artigo que servirá como base >> para um material para novatos em OO + PHP5 sobre abstração >> de classes em PHP e o uso dos Magic Methods do PHP 5. >> Para isso, estou usando como exemplo a abstração da classe >> pessoa. >> Mas aí surgiu uma dúvida cruel. >> Imaginem o modelinho. >> //Abstrata >> class Pessoa(){ >> } >> //Concreta >> class PessoaFisica extends Pessoa(){ >> } >> //Concreta >> class PessoaJuridica extends Pessoa(){ >> } >> Como vocês fariam isso no CodeIgniter uma vez que >> os >> controladores já herdam do controller principal? >> >> Fiquei imaginando um modo de fazer com Interface. >> Alguma dica dos membros da lista? >> Abraços >> Ademir Gabardo. >> >> _______________________________________________ >> [email protected] <mailto:[email protected]> >> >> http://www.codeigniter.com.br >> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> >> ------------------------------------------------------------------------ >> _______________________________________________ >> [email protected] <mailto:[email protected]> >> >> http://www.codeigniter.com.br >> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> _______________________________________________ >> [email protected] <mailto:[email protected]> >> >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> >> >> -- >> Eric Saboia - eric.saboia.org >> PHP Zend Certified Engineer >> >> >> >> >> -- >> Eric Saboia - eric.saboia.org >> PHP Zend Certified Engineer >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> _______________________________________________ >> >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> > > > -- > Eric Saboia - eric.saboia.org > PHP Zend Certified Engineer > > -- Eric Saboia - eric.saboia.org PHP Zend Certified Engineer
_______________________________________________ [email protected] http://www.codeigniter.com.br http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

