Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kakaroto1309

Preciso entender umas coisas!

Recommended Posts

Pessoal

 

Aprendi PHP faz um tempo, porém tenho algumas dúvidas sobre o novo jeito de programar. Eu sei programar usando programaçao estruturada mais a orientada eu ainda tenho dúvidas

 

Por exemplo pra que serve o :: e o Palavra->Seila.

 

Alguem conhece alguma apostila boa que explique isso?

Preciso entender por exemplo também como se usa polimorfia, pra qual proposito, e nao uma explicacao que polimorfia nao sei oque lá e talz talz...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto o :: quanto o -> significa algo como de pai para filho. Por exemplo referenciar uma função e um método dentro dessa função. Polimorfismo é exatamente o nome que se dá para isso. Eu não conheço muitos livros de PHP mas você pode começar pesquisando por aqui: http://www.tutsup.com/2014/08/11/heranca-e-polimorfismo-em-php-orientado-objetos/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto o :: quanto o -> significa algo como de pai para filho. Por exemplo referenciar uma função e um método dentro dessa função. Polimorfismo é exatamente o nome que se dá para isso. Eu não conheço muitos livros de PHP mas você pode começar pesquisando por aqui: http://www.tutsup.com/2014/08/11/heranca-e-polimorfismo-em-php-orientado-objetos/

Este é apenas uma das utilidades, mas não sua definição e não somente de pai para filho.

 

Como no caso de override (sobreescrita) de métodos e propriedades devem ser acessadas pelo operador de resolução de escopo (Paamayim Nekudotayim).

 

O operador nada tem de polimorfismo, apenas utiliza-se como funcionalidade de operador de objetos. Polimorfismo é a capacidade de tratar objetos diferentes da mesma forma, ou seja, através de um contrato (interface ou abstração)

 

Ele é um operador de objetos, ou seja, qualquer uso que necessite de uma referência para propriedades ou métodos inerentes a um objeto, devem utilizar o operador de objetos. Exceto quando a propriedade foi sobreescrita e deseja-se acessar a propriedade da classe generalizada/pai.

 

Aqui há alguns materiais sobre o assunto do operador

http://stackoverflow.com/questions/3037526/where-we-use-object-operator-in-php

http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php

http://stackoverflow.com/questions/6989308/object-operator-in-php

 

Tudo que precisa ser aprendido sobre utlizar classes no PHP você pode encontrar no link abaixo:

http://php.net/manual/en/language.oop5.php

 

Entretanto, Orientação à Objetos é muito mais que saber utilizar classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só complementando! :)

 

:: vs ->

 

 

:: refere-se à classe atual.
:: pode ser usado para chamar funções estáticas e referenciar variáveis ​​de membro estático.
:: pode ser usado dentro de funções estáticas.
:: também pode desativar o comportamento polimórfico ignorando o vtable.
-> refere-se ao objeto atual.
-> pode ser usado para chamar funções estáticas.
-> não deve ser usado para chamar variáveis ​​estáticas. Use ::

-> não pode ser usado dentro de funções estáticas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.