Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom pessoal, estou estudando OO a alguns dias! Até hoje estava tudo bem, mas tem algo que não me deixa continuar escrevendo códigos! E esse algo é a minha visão sobre a orientação a objeto! Eu vejo OO assim: um código central que instancia as outras classes e passa parâmetros para os métodos dessas classes! Todas as mensagens, sejam elas de erro ou qualquer outra coisa, deverão ser exibidas por esse código central! Ou seja, as classes são subordinadas a esse código central, sem ele as classes só são classes e sem as classes esse código central não serve pra nada! Então? Minha visão está errada? Eu creio que sim, pois estou acostumado ao PHP estruturado, e mudar a minha forma de pensar para me adaptar à orientação a objeto está um pouco difícil! então, alguém pode me dar essa ajuda? Já li artigos, segui os conselhos das pessoas que postaram nos tópicos que criei, mas não consigo sair dessa ideia de um código central!
Obrigado!
EDIT: Minha visão sobre o PHP OO é como eu vejo o Java! Um arquivo main que importa classes e chama os seus métodos! Talvez a minha visão sobre Java também esteja errada! Se puderem me ajudar ficarei muito agradecido!
Obrigado!
Primeiro, me desculpem pela demora! Bom, muito obrigado! Vou com certeza examinar esses códigos para entender melhor como eu devo ver OO!
Caso eu tenha alguma duvida, eu volto a postar!
Obrigado!
Obs: muito engracado o video! Hahaha
Igor, eu ja li esse exemplo do carro varias vezes, mas nao me ajudou em muito coisa, mesmo assim obrigado!
vou tentar explicar de uma outra forma o que o Igor tentou passar.
sua classe ela é um objeto e ela faz algo, se o seu objeto é um carro os componentes necessários para fazer ele andar é 4 rodas e combustível, sendo assim você teria 4 variáveis cada um indicando que qual roda é qual roda mais isso faz parte do carro alem do combustível ele precisa de um motorista uma classe pessoa onde essa pessoa tenha uma permissão para dirigir, depois dela tendo a permissão para dirigir o seguinte processo é feito para mover o carro: ele aperta embreagem e vai acelerando e na medida que vai acelerando vai soltando a embreagem.
eu falei um monte de bla aqui mais o que isso ajuda?
veja que cada item é tratado individualmente sendo cada roda uma variável sendo uma pessoa uma classe diferente com uma função de verificação
se você simplesmente criar uma função carro e dentro dessa mesma função jogar o motorista o combustível você não vai aplicar o OO, simplesmente tem uma classe.
bom tentei ajudar ao máximo.
esta errado, em parte
O oo eh oerientado a objetos, ao pe da letra, como
um carro tem 4 rodas, ou seja, eh composto por 4 rodas, composicao uma dos principios do OO
um carro precisa de combustivel pra andar: ae ele agrega um combustivel , agregacao outro principio da OO
um carro so pode veicular na rua se tiver um dono, ou seja, associado a um dono, associacao outro principio, com isto, você ja constroi muita coisa boa
dae você tem o principio da responsabilidade unica, cada classe tem sua unica responsabilidade
um carro eh um veiculo, gasolina eh um combustivel e um motorista eh uma pessoa, dae você ve a generalizacao e especializacao
você nunca vai ver um cachorro dirigindo um carro, entao um motorista eh uma pessoa, mas nem toda pessoa eh motorista,
OO tem muito mais coisa do q estruturado e muito tecnico, depois q você estuda e aprende, ve q eh maravilha...
Falcao, você tem um ponto de partida, mas esse ponto de partida não será necessariamente o mesmo para todo o projeto.
Em Java, quando estamos num processo de estudo, com programas pequenos e objetivos, usamos uma classe principal para fazer os testes das outras classes, mas é apenas por isso.
Já deu uma olhada no repositório do iMasters? Acho relevante para este tópico os seguintes projetos:
https://github.com/iMastersDev/php-oop
https://github.com/iMastersDev/mvc-na-pratica
Um outro projeto interessante para estudo, por não ser demasiadamente grande, mas também não é simples:
http://opencart.googlecode.com/svn/trunk/upload/