Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

clases

Estas en el tema de clases en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola ¿alguien me puede decir donde encontrar un buen tuto de clases y objetos? Hace tiempo que estoy intentando comprenderlo correctamente, pero no lo consigo, ...
  #1 (permalink)  
Antiguo 28/03/2011, 15:14
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
clases

hola ¿alguien me puede decir donde encontrar un buen tuto de clases y objetos?

Hace tiempo que estoy intentando comprenderlo correctamente, pero no lo consigo, así que imagino que lo que necesito es ya un tuto para torpes...
  #2 (permalink)  
Antiguo 30/03/2011, 20:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: clases

Buenas amigo lo primero es que te informo que estas en un foro depende de los usuarios quieran o no responder al tema que coloques ya que nadien nos paga a los foreros por estar aca, que deseas aprender a trabajar las clases?? Ya buscaste en google tuto de POO en php y ninguno te pudo dejar claro?? en lo personal una clase es llevar lo complejo a algo sencillo, como es esto fijate cuando creamos una clase por ejemplo sobre autos, los autos son algo super complejo pero lo encerramos solo en una frase llamada autos, en esta declaramos los atributos o carácteristicas de estos y los métodos o acciones que este debe realizar ejemplo

Código PHP:
Ver original
  1. class Autos
  2. {
  3.    private $color;
  4.    private $velocidad;
  5.    public funcion acelerar($velocidad)
  6.    {
  7.         $this->velocidad += $velocidad;
  8.         return $this->velocidad;
  9.    }
  10. }
un pequeño ejemplo que veia ayer y que creo que es la clase mas sencilla de entender que hay, que tienes que tener en claro para trabajar con clase?? los conceptos o teoria que a nadien le gusta de lo que es programar orientado a objetos, eso ya queda de ti investigarlo, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 31/03/2011, 09:56
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: clases

Como apunte...

Léete el manual para programar según el estándar de php.

Desafortunadamente, la web oficial para verlo:

http://framework.zend.com/wiki/displ...aft%29-Classes

Está deshabilitada temporalmente, por lo que te hago la reescritura, según el ejemplo dado arriba:
Código PHP:
Ver original
  1. class Auto
  2. {
  3.     private $_color = '';
  4.     private $_velocidad = 0;
  5.  
  6.     public function acelerar($velocidad)
  7.     {
  8.         $this->velocidad += $velocidad;
  9.  
  10.         return $this->velocidad;
  11.     }
  12. }

Si te fijas:

1. La clase no está en plural, debe estar en singular.
2. Los atributos como son private, deben comenzar por _ (raya al piso)
3. El identado debe ser de 4 espacios.

Es algo básico, ojalà pronto restablezcan la paǵina

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 31/03/2011, 11:04
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

muchas gracias a los dos, ¿como obtengo entonces los valores de $_color y $_velocidad?
  #5 (permalink)  
Antiguo 31/03/2011, 11:24
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: clases

Si hablas de un get.... re breve

Debes hacer un método getter:

Código PHP:
Ver original
  1. public function getColor()
  2. {
  3.     return $this->_color;
  4. }
  5.  
  6. public function getVelocidad()
  7. {
  8.     return $this->_velocidadr;
  9. }

Fuera del contexto de la clase, haces un echo, algo así:
Código PHP:
Ver original
  1. $auto1 = new Auto();
  2. $auto1->acelerar(100);
  3. echo $auto->getVelocidad();

Lee sobre métodos setter y getter en php.

Saludos,
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 31/03/2011, 20:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: clases

Cita:
Iniciado por Carxl Ver Mensaje
Como apunte...

Léete el manual para programar según el estándar de php.

Desafortunadamente, la web oficial para verlo:

http://framework.zend.com/wiki/displ...aft%29-Classes

Está deshabilitada temporalmente, por lo que te hago la reescritura, según el ejemplo dado arriba:
Código PHP:
Ver original
  1. class Auto
  2. {
  3.     private $_color = '';
  4.     private $_velocidad = 0;
  5.  
  6.     public function acelerar($velocidad)
  7.     {
  8.         $this->velocidad += $velocidad;
  9.  
  10.         return $this->velocidad;
  11.     }
  12. }

Si te fijas:

1. La clase no está en plural, debe estar en singular.
2. Los atributos como son private, deben comenzar por _ (raya al piso)
3. El identado debe ser de 4 espacios.

Es algo básico, ojalà pronto restablezcan la paǵina

Saludos.
Normalmente trabajo de esta manera, aunque no es escusa lo que hice fue una declaración básica de una clase para que el amigo viera mas o menos como se van haciendo la clase aunque lo que indica el amigo Carxl es muy importante seguir los estandar.

Como concejo al amigo chechu_ investiga la teoria de la programación orientada a objetos para que puedas llevarla a la práctica ya que trabajar con POO no es solo declarar una clase y listo es aplicarle los conceptos que esta encierra, por cierto lo que te indico el amigo Carxl se conocen como getters and setters investiga los terminos saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 01/04/2011, 04:41
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

Estoy en ello y creo que ya lo voy cojiendo.

Pero ¿en que casos seria necesario o inprescindible usar las clases?
  #8 (permalink)  
Antiguo 01/04/2011, 08:30
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: clases

Siempre! :D... Leerás mucho sobre php estructurado, desecha eso...

Php por su misma facilidad te permite programar tanto en estructurado como en objetos, acostúmbrate a los objetos,

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 01/04/2011, 11:02
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

Vale ¿Pero que diferencia existe realmente entre hacer varias funciones y hacer una clase con varias funciones en su interior?

Agradezco la intención y pido disculpas, pero decirme que me acostumbre a usar clases sin más, no creo que responda a mi pregunta de ¿en que casos seria necesario o inprescindible usar las clases?
  #10 (permalink)  
Antiguo 01/04/2011, 11:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: clases

Para responder eso tendrías que aprender realmente lo que es OOP y no solamente crear clases, te recomiendo leer esto: http://www.forosdelweb.com/f68/apren...-bases-898751/

Saludos.
  #11 (permalink)  
Antiguo 01/04/2011, 11:24
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: clases

Exactamente!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #12 (permalink)  
Antiguo 01/04/2011, 11:47
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

Vale, amplia y aumenta las posbilidades de php.

¿Lo he captado bien?
  #13 (permalink)  
Antiguo 01/04/2011, 11:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: clases

No, en general de tu sistema, la POO no es exclusiva de PHP, de hecho hay lenguajes 100% orientado a objetos (como C#).

Saludos.
  #14 (permalink)  
Antiguo 01/04/2011, 11:52
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

Eso ya lo sabía... esto me va a costar mas de lo que esperaba...
  #15 (permalink)  
Antiguo 01/04/2011, 14:02
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Respuesta: clases

Si cuesta entender bien el concepto, cuando ves las clases como solo repositorios de funciones, pero a veces basta ver casos practicos para poder entender el "gran poder" que tiene el cambio de paradigma.

http://www.forosdelweb.com/f18/aport...3/#post3170959
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #16 (permalink)  
Antiguo 01/04/2011, 14:03
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Respuesta: clases

otro ejemplo

http://www.forosdelweb.com/f18/estoy...1/#post3534300
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador

Última edición por _ssx; 01/04/2011 a las 14:05 Razón: Duplicado sin querer.. mendigo chrome :p
  #17 (permalink)  
Antiguo 01/04/2011, 15:30
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 17 años
Puntos: 0
Respuesta: clases

Ok, muchas gracias a todos, he acabo de terminar el tuto de desarrolloweb sobre las clases de php5, ahora me falta informarme sobre getters and setters como me dijo carlos_belisario.

Parece que lo voy pillando aunque es un enorme lio, como dicen parece que es una forma diferente de ver la programación, ahora a practicar un poco para cojer mejor las ideas y no perderlas de la cabeza, aunque noto que me falta mucho por aprender y no veo que, puesto que en el tuto no hay nada de getters and setters y me da la impresión de que falta mucho más.
  #18 (permalink)  
Antiguo 01/04/2011, 20:40
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: clases

lo principal es que aprendas las bases de como implementar tus objetos, personalmente el link que te dejo GatorV me parece muy bueno y aunque pense que conocia mas o menos sobre el tema me enseño mucho, como te hemos indicado ya al entender los conceptos los demas es carpinteria, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.