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

No entiendo la diferencia de este codigo(basico POO)

Estas en el tema de No entiendo la diferencia de este codigo(basico POO) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. No entiendo al diferencia que hay entre este codigo. En el que se declaran una clase Caja con unos atributos y contiene 2 metodos, primera ...
  #1 (permalink)  
Antiguo 22/12/2011, 11:43
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años
Puntos: 2
No entiendo la diferencia de este codigo(basico POO)

No entiendo al diferencia que hay entre este codigo. En el que se declaran una clase Caja con unos atributos y contiene 2 metodos, primera cosa que no entiendo tiene 2 funciones (functions) que yo sepa las funciones siempre devuelven algo return x y no veo que tengan puesto ningun return parecen mas bien metodos(sub). 2ª cosa que no entiendo ¿ en caso de ser metodos que simplemente asignan un valor a los atributos para que vale entonces el this?, ¿ no estaría bien hacerlo sin this ?segun lo entiendo uno de esos metodos contiene 1 parametro que se le va asignar a una variable que justamente estan todas declaradas como globales para la clase, por lo que no entiendo que pinta un this en esos metodos. Otra últuima cosa aunque estoy segurísimo que sera lo que pienso, en la funcion la expresion -> es como la del . no, es decir echo $this.contenido; ?

Vengo de visual.net y hace mucho que no programo por lo que entre que no lo uso y de lo que veo en php no entiendo muy bien las cosas basicas estoy un poco perdidio.

Alguien por favo r que me saque de estas dudas.

¿ Estaria mal poner asi la funcion ?
funcion introduce ($cosa)
{
$contenido = $cosa
}


Código PHP:
<?
class Caja{
    var 
$alto;
    var 
$ancho;
    var 
$largo;
    var 
$contenido;
    var 
$color;

function 
introduce($cosa){
    
$this->contenido $cosa;
}

function 
muestra_contenido(){
    echo 
$this->contenido;
}
}
?>

Última edición por arts; 22/12/2011 a las 11:56
  #2 (permalink)  
Antiguo 22/12/2011, 13:04
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: No entiendo la diferencia de este codigo(basico POO)

podrías leerte la doc sobre objetos en php http://www.php.net/manual/es/oop5.intro.php

hay una sección "propiedades" que explica sobre visibilidad de las propiedades (fijate que dice de var) y la seudovariable $this
  #3 (permalink)  
Antiguo 22/12/2011, 13:14
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: No entiendo la diferencia de este codigo(basico POO)

buenas el problema que tienes es que estas comparando los lenguajes aunque siempre que se va de un lenguaje a otro se hace la comparación muchas veces trae problemas por la diferencia de sintaxis, http://www.php.net/manual/es/language.oop5.php esa es la documentación oficial de clases y objetos ya queda de ti entender, por cierto lo que viste esta un poco desactualizado ya que trabaja con objetos al estilo php4.

Por cierto la function dentro de las clases son los metodos de las mismas, ademas de esto las funciones pueden o no retornar un valor, hay muchas personas que las utilizan solo para realizar una rutina y no retornan valores en las mismas solo le interesa la ejecución del codigo que esta dentro de estas, a medida que te vayas metiendo con el lenguaje iras viendo diferentes implementaciones, es cuestion de gusto y que veas cuales son las mejores practicas, saludos

edit: me ganaron en el link :(
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 22/12/2011, 13:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años
Puntos: 2
Respuesta: No entiendo la diferencia de este codigo(basico POO)

¿ Osea que la unica diferencia que existe para saber que es una funcion y un metodo es simplemente si devuelve algo o no verdad?. Respecto al ejemplo crei que era POO php5, vaya chasco em he llevado ya que lo copie de un ejemplo de un supuesto manual de php5. Vale y $this entonces es la (referencia, apuntador, link) de la variable.

Me miraré mas esa documentacion del manual que me habeis puesto que me parece el manual mas correcto.

Un saludo y gracias.
  #5 (permalink)  
Antiguo 22/12/2011, 13:53
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: No entiendo la diferencia de este codigo(basico POO)

es que php es un lenguaje que soporta tanto estructurado como OOP, como sabes cuando es un metodo, esta dentro de una clase y tiene la visibilidad del mismo
Código PHP:
Ver original
  1. class Algo
  2. {
  3.     public function miMetodo()
  4.     {
  5.      /**lo que coloques en tu metodo*/
  6.     }
  7. }
la funcion simplemente la declaras y punto

Código PHP:
Ver original
  1. function otraCosa()
  2. {
  3.     /*lo que sea*/
  4. }

pero como te indique solo es cuestion de gustos en las implementaciones, 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
  #6 (permalink)  
Antiguo 22/12/2011, 14:34
Avatar de romel_inc  
Fecha de Ingreso: diciembre-2007
Ubicación: Venezuela-monagas
Mensajes: 288
Antigüedad: 16 años, 4 meses
Puntos: 14
Respuesta: No entiendo la diferencia de este codigo(basico POO)

http://phpyalgomas.blogspot.com/2011...plificado.html
__________________
Lo que se usar (JAVA, Spring MVC, IntelliJ IDEA , GAE, CakePHP, Bootstrap, Underscorejs, jQuery, HTML5, CSS3, JSON, Ajax, Prototype), Aprendiendo a usar Angularjs y Git.

Etiquetas: clase, diferencia
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 04:31.