Programación Web y Scripting > PHP

 Objetos

(1/2) > >>

erizo:
Hola.
Tengo un problema, y es que no sé qué son los famosos "objetos"... Estuve leyendo en el manual que se baja en php.net, pero lo único que sale es esto:


CÓMO INICIALIZAR OBJETOS:

class foo {
    function do_foo () {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();  


..pero no se explica qué es un objeto... Yo programo algo en C, pero no en C++, ni tampoco sé nada de prog. orientada a objetos..... ¿Alguien me pudiera ayudar a entender qué son, para qué sirven, y qué significa el pedazo de código que puse más arriba???

Gracias.

Diego.

Informix:
Hola erizo que tal mira te voy a explicar como entiendo lo que son los objetos, vamos a ver un ejemplo de la vida real por ejemplo una taza para tomar cafe es un objeto pero a su vez este objeto tiene propiedades como son color, tamaño, forma etc y eso es lo que se trata de hace en una clase que es la que define al objeto pero veamoslo desde el punto de vista de programacion en C++ ya que C no permite objetos, por cierto mencionas que has trabajado con C en este lenguaje se manejan las estructuras es el antecesor de los objetos, pero veamos el codigo:


--- Código: Text --- //Codigo de C++//declaramos el nombre del objeto usando classclass taza{//aqui van sus propiedadeschar color[20];char tamano[20];char forma[20];};  
Bien ya declaramos nuestro objeto que a su vez se convierte en un tipo de dato para nosotros por eso cuando lo llamamos lo podemos hacer asi:


--- Código: Text --- taza mi_taza;  
De esta manera mi_taza tendra las propiedades que se pusieron en la clase (color, tamano, forma) y para asignarle los valores hay varias formas pero la que recuerdo es esta:


--- Código: Text --- usamos el operador de membresia . para acceder a las propiedades del objeto mi_taza.color = "Azul";mi_taza.tamano = "Mediana";mi_taza.forma = "Redonda"; no se puede hacer:color = "Azul"; por que marcaria un error ya que color esta dentro de la clase (nuestro objeto)  
Esto sera a groso modo lo que es una clase y un objeto en C++ para que nos sirven las clases ?? pues nos ayudan a:

1) Tener Abstracción
2) Encapsulación y a esconder datos
3) Polymorfismo
4) Herencia
5) A crear codigo reutilizable

Ahora el codigo que escribiste:


--- Código: Text --- class foo { //Se declara la clase llamada foofunction do_foo () { //Definimos una funcion do_foo() perteneciente a la clase fooecho "Doing foo."; //Cuerpo de la funcion} //Termina codigo de la funcion} //Termina clase $bar = new foo;  //$bar sera de tipo foo es decir podra acceder a las propiedades  de dicha clase$bar->do_foo(); //$bar hace un llamado a la funcion do_foo() por medio del operador de flecha -> e imprimira el mensaje "Doing foo"   
Bueno amigo espero que me haya explicado claramente y resuelto tus dudas, te recomiendo que leas un poco mas sobre la OOP en C++ no es muy dificil para que puedas crear tus objetos en PHP

 :suerte:

y a programar !!  :comp: jejeje  :hola:

Blag:
En realidad, los objetos en PHP no están plenamente contemplados, es decir, no tienen aún toda la funcionalidad que podrían tener.
Permite herencia......nada más hasta ahora :(

Otra cosa.....si bien en PHP, para declarar variables, utilizamos simplemente esto:


--- Código: Text --- $Variable;  
En PHP orientado a objetos, tendríamos esto:


--- Código: Text --- class Gato{var $Nombre;     function Imprimir()    {     $this->Nombre = "Cheko"     print($this->Nombre);    }}  
Y lo llamaríamos así:


--- Código: Text --- $Gato = new Gato();$Gato->Imprimir();  
Saludos,

Blag  :devil:

NRM:
Las 2 explicaciones que dieron me parecen muy buenas, van directo al punto y son claras. Lo unico que te podria recomendar es que practiques y siempre consultes el manual de php.net.

Saludos

erizo:
Muchísimas gracias a los tres por las respuestas. Justamente, están todas muy claras. Igual es bueno este foro.... se mandaron la media respuesta!!!!!

Otra cosa: apuesto que el gato del blaq se llama "cheko"..... ¿o me equivoco?

Ahora sigo trabajando... gracias de verdad!!!!

Diego.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa