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!!! ;)
No siempre es necesario definir el constructor de una clase
Leete este enlace http://www.webestilo.com/php/articulo.phtml?art=28 (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
Hola alone-in-the-chat!!!
Muchas gracias por tu respuesta!!! ;D
Cuìdate!!
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.
Hola Sanjuu!!!
Muchas gracias por tu aclaraciòn!!! Ya entiendo al menos esto!!!
Saludos!! ;)
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!!! ;)
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 ;)
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!