Programación Web y Scripting > PHP
Objetos
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
[#] Página Siguiente
Ir a la versión completa