Desculpem a ignorância, mas o que exatamente faz com que percebamos se uma linguagem é ou não orientada a objetos?
Peço isso pois sempre acreditei que fosse o fato de poder dar um “new Objeto”, mas no PHP isso também é possível, e até onde sei, PHP não é orientado, somente dá suporte à orientação… é assim mesmo ou não existe essa diferença?
Grato desde já e desculpem a ignorância novamente.
Acho que o termo Linguagem OO e um jeito de falar q a linguagem suporta OO pois java apesar de ser OO poder ser programada utilizando 90 % de procedimentos estruturais, e como o php pode tmb ser programado 100% orientado.
[quote=bruno_cobra]Desculpem a ignorância, mas o que exatamente faz com que percebamos se uma linguagem é ou não orientada a objetos?
Peço isso pois sempre acreditei que fosse o fato de poder dar um “new Objeto”, mas no PHP isso também é possível, e até onde sei, PHP não é orientado, somente dá suporte à orientação… é assim mesmo ou não existe essa diferença?
Grato desde já e desculpem a ignorância novamente.[/quote]
O conceito de Objeto não define Orientação a Objeto. VB 6 tb tinha class e new e não era OO.
OO implica nos conceitos de herança e polimorfismo ( estático e dinamico).
Se PHP suporta isso, ele é OO. ( O PHP, a partir do 5 , eu acho, é na realidade hibrido porque suporta o paradigma OO mas tb suporta
o paradigma funcional)
Bom, então podemos dizer que PHP é também orientado a objetos, se não me engano desde a versão 5 mesmo…
Pesquisando um pouco na net, encontrei algo sobre javascript (http://www.leandromerces.org/blog/2007/05/09/javascript-orientado-a-objetos/) que diz que ele dá suporte à herança através de protótipos… isso torna javascript uma linguagem orientada a objetos, então?
Não conheço muito de javascript, apenas sei que ele possui muitas características de OO.
Posso estar errado, mais Linguagens Orientadas a Objeto, podem ser difíceis de serem definidas, pois mesmo o Java não possui 100% das características, como a Herança Multipla…
Eu diria que há linguagens de programação e há paradigmas de programação. A linguagem pode suportar os paradigmas mais facilmente ou não.
Conheço gente que trabalha com Java há anos, mas nunca escreveu uma linha de código orientado a objeto.
Aliás, não é uma linha que define se é de tal paradigma ou não, é todo o projeto. Não é herança, classes, polimorfismo, encapsulamentos separados que definem um projeto OO, são todos eles juntos, e usados sabiamente.
Uma linguagem Orientada a Objetos possui abstrações e operações que lidam diretamente com objetos. “Baseada em Objetos” é um termo de marketing para linguagens não-OO que possuiam objetos built-in.
Note que você não precisa de uma linguagem OO ara programar OO.