• Lunes 6 de Mayo de 2024, 08:44

Autor Tema:  Objetos  (Leído 1578 veces)

erizo

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Objetos
« en: Viernes 16 de Julio de 2004, 07:55 »
0
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.
"Quien al mundo vino y no toma vino... ¿A que chucha vino?"

Informix

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Objetos
« Respuesta #1 en: Viernes 16 de Julio de 2004, 19:53 »
0
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
  1.  
  2. //Codigo de C++
  3. //declaramos el nombre del objeto usando class
  4. class taza{
  5. //aqui van sus propiedades
  6. char color[20];
  7. char tamano[20];
  8. char forma[20];
  9. };
  10.  
  11.  

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
  1.  
  2. taza mi_taza;
  3.  
  4.  

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
  1.  
  2. usamos el operador de membresia . para acceder a las propiedades del objeto
  3.  
  4. mi_taza.color = "Azul";
  5. mi_taza.tamano = "Mediana";
  6. mi_taza.forma = "Redonda";
  7.  
  8. no se puede hacer:
  9. color = "Azul";
  10.  
  11. por que marcaria un error ya que color esta dentro de la clase (nuestro objeto)
  12.  
  13.  

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
  1.  
  2. class foo { //Se declara la clase llamada foo
  3. function do_foo () { //Definimos una funcion do_foo() perteneciente a la clase foo
  4. echo "Doing foo."; //Cuerpo de la funcion
  5. } //Termina codigo de la funcion
  6. } //Termina clase
  7.  
  8. $bar = new foo;  //$bar sera de tipo foo es decir podra acceder a las propiedades  de dicha clase
  9. $bar->do_foo(); //$bar hace un llamado a la funcion do_foo() por medio del operador de flecha -> e imprimira el mensaje "Doing foo"
  10.  
  11.  
  12.  

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:
Informix

"Ganar no es algo momentáneo, es algo permanente. Uno no gana de vez en cuando, uno no hace las cosas bien a veces, uno hace las cosas bien siempre" .

Vince Lombardi


Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Objetos
« Respuesta #2 en: Sábado 17 de Julio de 2004, 07:44 »
0
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
  1.  
  2. $Variable;
  3.  
  4.  

En PHP orientado a objetos, tendríamos esto:

Código: Text
  1.  
  2. class Gato
  3. {
  4. var $Nombre;
  5.      function Imprimir()
  6.     {
  7.      $this->Nombre = "Cheko"
  8.      print($this->Nombre);
  9.     }
  10. }
  11.  
  12.  

Y lo llamaríamos así:

Código: Text
  1.  
  2. $Gato = new Gato();
  3. $Gato->Imprimir();
  4.  
  5.  

Saludos,

Blag  :devil:

NRM

  • Miembro MUY activo
  • ***
  • Mensajes: 279
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.narrowmind.com.ar
Re: Objetos
« Respuesta #3 en: Sábado 17 de Julio de 2004, 09:31 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Objetos
« Respuesta #4 en: Sábado 17 de Julio de 2004, 21:26 »
0
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.
"Quien al mundo vino y no toma vino... ¿A que chucha vino?"

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Objetos
« Respuesta #5 en: Domingo 18 de Julio de 2004, 04:30 »
0
Citar
Otra cosa: apuesto que el gato del blaq se llama "cheko"..... ¿o me equivoco?

Jejejeje........ :lol:  Adivinaste! Se llama Cheko  :hola:  Es un gato negro con la punta de la cola blanca  B)
En el me inspiré para hacer mi juego  :comp:

Saludos,

Blag  :devil: