Sunteți pe pagina 1din 21

POO

(PROGRAMACIN PHP
ORIENTADA A OBJETOS)

INTRODUCCIN (1/2)
El lenguaje PHP tiene la caracterstica de permitir programar
con las siguientes metodologas:

Programacin Lineal: Es cuando desarrollamos todo el cdigo


disponiendo instrucciones PHP alternando con el HTML de la
pgina.
Programacin Estructurada: Es cuando planteamos funciones
que agrupan actividades a desarrollar y luego dentro de la
pgina llamamos a dichas funciones que pueden estar dentro
del mismo archivo o en una librera separada.

INTRODUCCIN (2/2)

Programacin Orientada a Objetos: Es cuando planteamos


clases y definimos objetos de las mismas (Este es el objetivo
del tutorial, aprender la metodologa de programacin
orientada a objetos y la sintaxis particular de PHP 5 para la
POO)

CONCEPTOS BSICOS (1/4)

Clases: Una clase es un molde del que luego se


pueden crear mltiples objetos, con similares
caractersticas.

Objetos: Un objeto es una entidad independiente con


sus propios datos y programacin

CONCEPTOS BSICOS (2/4)


Ejemplo: Un molde de gelatinas (la clase), y las gelatinas
creadas con el molde (objetos), con colores y sabores
diferentes.
Molde gelatina (la clase)

Fuente: http://is.gd/MejK1a

Gelatinas creadas con el molde (objetos)

Fuente: http://is.gd/AsrHdd
5

CONCEPTOS BSICOS (3/4)


Una clase es una plantilla (molde), que define atributos (lo
que conocemos como variables) y mtodos (lo que conocemos
como funciones).
La clase define los atributos y mtodos comunes a los objetos
de ese tipo, pero luego, cada objeto tendr sus propios
valores y compartirn las mismas funciones.
Debemos crear una clase antes de poder crear objetos
(instancias) de esa clase. Al crear un objeto de una clase, se
dice que se crea una instancia de la clase o un objeto
propiamente dicho.

CONCEPTOS BSICOS (4/4)


La sintaxis bsica para declarar una clase es:

class [Nombre de la Clase] {


[atributos]
[mtodos]
}
7

EJEMPLO DE CLASES (1/2)

Fuente : http:// is.gd/vLn2zq

EJEMPLO DE CLASES (2/2)


I m p l em e nt ar em o s u n a c l a s e l l am ad a Pe r s o n a qu e te nd r c o m o at r i b uto (v ar i ab l e) s u
n o m b r e y d o s m to d o s (f u nc i on e s ) , u no d e d ic ho s m to d o s i n i c i al i z ar el at r i b uto
n o m b r e y e l s i g uie n te m to d o m o s t r a r e n l a p g i n a e l c o n te n i d o d e l m i s m o .

LA VARIABLE $this
Dentro de un mtodo, la variable $ this hace referencia al objeto
sobre el que invocamos el mtodo.

En la invocacin $micaja->introduce("algo") se est llamando al


mtodo introduce sobre el objeto $micaja. Cuando se est
ejecutando ese mtodo, se vuelca el valor que recibe por
parmetro en el atributo contenido.
En ese caso $this->contenido hace referencia al atributo
contenido del objeto $micaja, que es sobre el que se invocaba el
mtodo.
10

ATRIBUTOS DE UNA CLASE (1/2)


Los atributos son las caractersti cas, cual idades, propiedades di stinti vas d e
cada clase. Co ntienen informacin sobre el objeto. Determinan la apariencia,
estado y dems par ticulari dades de la clase . Vari os o bjetos d e una misma
clase tendrn los mismos atributos pero con valores diferentes.
Obser ve en e l ejempl o de las gel atinas, todas las gelatinas (objetos u
instancias) creadas a par tir del molde (cl ase) poseen los mi smos atributos
(color, sabor) pero con valores diferentes (unas son de fresa, otras de limn.

Fuente: http://is.gd/MejK1a

Fuente: http://is.gd/AsrHdd

11

ATRIBUTOS DE UNA CLASE (2/2)


Cuando creamos un objeto de una clase determinada, los
atributos declarados por la clase son localizadas en memoria y
pueden ser modificados mediante los mtodos.
Lo ms conveniente es que los atributos sean privados para que
solo los mtodos de la clase puedan modificarlos.
Para llamar un atributo o propiedad dentro de la misma clase
usamos el operador $this.
Sintaxis:

$this->[propiedad]

12

MTODOS DE UNA CLASE


Los mtodos son como las funciones en los lenguajes
estructurados, pero estn definidos dentro de una clase y operan
sobre los atributos de dicha clase.
El objetivo de un mtodo es ejecutar las actividades que tiene
encomendada la clase a la cual pertenece.
Los atributos de un objeto se modifican mediante llamadas a sus
mtodos.
Para llamar un mtodo dentro de la misma clase usamos el
operador $this.
Sintaxis:

$this->[nombre del mtodo]


13

MODIFICADORES DE ACCESO A
ATRIBUTOS Y MTODOS (1/3)
En PHP son Public, Protected y Private
Uno de los principios de la programacin orientada a objetos
es la encapsulacin, que es un proceso por el que se ocultan
las caractersticas internas de un objeto a aquellos elementos
que no tienen porque conocerla.
Los modificadores de acceso sirven para indicar los permisos
que tendrn otros objetos para acceder a sus mtodos y
propiedades.

14

MODIFICADORES DE ACCESO A
ATRIBUTOS Y MTODOS (2/3)
Modificador private: Es el nivel de acceso ms restrictivo. Sirve
para indicar que esa variable o mtodo slo se va a poder
acceder desde el propio objeto, nunca desde fuera. Si
intentamos acceder a un mtodo o atributo declarado private
desde fuera del propio objeto, obtendremos un mensaje de
error indicando que no es posible a ese elemento.
Mensaje de error: Fatal error: Cannot access private property

15

MODIFICADORES DE ACCESO A
ATRIBUTOS Y MTODOS (3/3)
Modificador public: Es el nivel de acceso ms permisivo. Sirve
para indicar que el mtodo o atributo de la clase es pblico. En
este caso se puede acceder a ese atributo, para visualizarlo o
editarlo, por cualquier otro elemento de nuestro programa. En
PHP es el modificador que se aplica si no se indica otra cosa.

Modificador protected: Este indica un nivel de acceso medio y


un poco ms especial que los anteriores. Sirve para que el
mtodo o atributo sea pblico dentro del cdigo de la propia
clase y de cualquier clase que herede de aquella donde est el
mtodo o propiedad protected. Es privado y no accesible desde
cualquier otra parte. Es decir, un elemento protected es pblico
dentro de la propia clase y en sus heredadas.

16

EJEMPLO MODIFICADORES DE ACCESO

Atributo edad publico, al ser publico puede ser


modificado fuera de la de la clase.

Se cambia el valor sin necesidad de llamar algn


mtodo.

17

EJEMPLO MODIFICADORES DE ACCESO

Atributo edad private, al ser private solo puede ser


modificado dentro de la clase.

Al intentar hacer esto obtendramos un error, por


que edad es private.

18

EJEMPLO

19

PROBLEMAS
1. Crear una clase llamada Persona, Definir los siguientes
atributos nombre, apellidos, direccin, telfono, Luego definir
dos mtodos, uno que cargue los atributos y otro que lo
imprimas, los atributos deben ser ingresados a travs de un
formulario HTML.
2. Confeccionar una clase Empleado, definir como atributos su
nombre y sueldo. Definir un mtodo inicializar que lleguen como
dato el nombre y sueldo. Plantear un segundo mtodo que
imprima el nombre y un mensaje si debe o no pagar impuestos
(si el sueldo supera a 3000 paga impuestos)
3. Confeccionar una clase CabeceraPagina que permita mostrar un
ttulo, indicarle si queremos que aparezca centrado, a derecha o
izquierda, adems permitir definir el color de fondo y de la
fuente.
20

CONTINUAR

Fuente: http://www.e-lactancia.org/ped/ped11-005Cefalea_archivos/image009.gif

21

S-ar putea să vă placă și