Acho que fui eu.. haeuhaeuheuh Cara, quanto ao que você falou do banco de dados, é o que eu disse, só vale a pena usar abstração em bancos se você tiver utilizando ORM, que daí o framework se encarrega de montar o objeto de persistência a partir da classe e suas N heranças, na verdade ORM é exatamente isso, transformar um banco em um modelo orientado a objetos.
2010/10/15 Ademir C Gabardo <[email protected]> > Essa thread tava morta faziam duas semanas já. > Alguém ressuscitou ela hj. > heheheh > > > > *De:* [email protected] [mailto: > [email protected]] *Em nome de *Eric Saboia > *Enviada em:* sexta-feira, 15 de outubro de 2010 12:00 > *Para:* CodeIgniter Brasil > *Assunto:* Re: [CodeIgniter] RES: Duvida sobre abstração de Classe > > > > 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 > > _______________________________________________ > [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
_______________________________________________ [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 ---------------------------

