Principiante con Php orientado a objetos

Iniciado por Carxl, 4 Agosto 2007, 23:37 PM

0 Miembros y 1 Visitante están viendo este tema.

Carxl

Hola a todos!!!

Pues resulta que lo que llevo programando en php siempre lo he hecho de manera estructurada (la manera antigua), ahora por cuestiones de trabajo, necesito aprender POO para php. Estudiando un poco me encontrè con lo que llaman "constructor", y pues me surgiò una duda teòrica, es necesario siempre definir dicho constructor en la clase??, o no hay necesidad de hacerlo??.

Por ahora es simplemente eso, despuès los molestarè mas... ;D ;D

Gracias de antemano!!! ;)
Hay 10 tipos de personas, los que entienden binario... y los que no!

alone-in-the-chat

 
         No siempre es necesario definir el constructor de una clase

        Leete este enlace http://www.webestilo.com/php/articulo.phtml?art=28

   Tiene info muy interesante que te sera util.

Saludos

PD. O.O no me llego a entender con el editor del foro  :P
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

Carxl

Hola alone-in-the-chat!!!

Muchas gracias por tu respuesta!!! ;D

Cuìdate!!
Hay 10 tipos de personas, los que entienden binario... y los que no!

Sanjuu

Tecnicamente el constructor es imprescindible para usar cualquier objeto, sino este objeto es imposible que pueda crearse.

Otra cosa diferente es que el constructor haya que implementarlo, generalmente es recomendable ya que el constructor puede realizar operaciones de asignación inicial y te ahorras un método que haga esto. Pero casi todos los lenguajes de programación incluyen un constructor por defecto que, aunque no lo implementes, internamente se usa, no hace nada, simplemente construir el objeto, pero está ahí pues es imprescindible para que un objeto se cree.

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();

Carxl

Hola Sanjuu!!!

Muchas gracias por tu aclaraciòn!!! Ya entiendo al menos esto!!!

Saludos!! ;)
Hay 10 tipos de personas, los que entienden binario... y los que no!

Carxl

Hola de nuevo...

Pues al seguir estudiando, me surgiò la suguiente duda cuando lleguè a "Clases Abstractas", pues mirando el manual oficial de php...

Para que se declaran clases abstractas?? Realmente que es lo que hace "abstract" en una clase o mètodo?? Intentè el ejemplo que aparece en el manual oficial pero no me corriò... :-\ :-\

Gracias de antemano!!! ;)
Hay 10 tipos de personas, los que entienden binario... y los que no!

Sanjuu

A ver una clase abstracta es aquella que no se instancia y por tanto no se crean objetos de la misma. Para que sirve te podrás preguntar. Bien sirve para que otras clases hereden sus propiedades. Me explico.

Supongamos que tenemos una empresa y queremos hacer un modelado de clases según el puesto o cargo que ocupen los distintos miembros.

Tendríamos la clase abstracta persona que podría tener los siguientes atributos:
- nombre
- dni
- edad
- antiguedad en la empresa

luego podríamos tener la clase empleado que heredaría los atributos de persona y además podría llevar:
- sede
- turno
- puesto

y por ejemplo otra que podría ser de los directores:
- departamento
- empleados a su cargo


Si te das cuenta ambas clases comparten los atributos genéricos de la clase persona y ambas tienen sus atributos específicos, pero en este caso, crear un objeto instanciando a persona sería insuficiente para resolver nuestro problema, por eso necesitamos esa clase abstracta (genérica) que no se instancia y si instanciamos a director o empleado que son clases derivadas de la clase persona y que heredan sus atributos.


No se si el ejemplo que puse es el más correcto y no se si me expliqué del todo bien pero eso es más o menos la idea ;)

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();

Carxl

Hola Sanjuu!! :D

Hey muchas gracias por responder!!!. Ya creo tener la idea mas clara ;D ;D, cualquier cosa... puedo postear??

Chau y de nuevo gracias!
Hay 10 tipos de personas, los que entienden binario... y los que no!