PHP Programación Orientada a obxectos

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introdución

  • Na actualidade empréganse fundamentalmente dúas formas de programación:
  • Programación estruturada
  • Programación orientada a obxectos.
  • A programación estruturada baséase na utilización de 3 estruturas básicas: Secuencial, Condicional e Repetitiva.
En base a estas 3 estruturas podemos 'programar' calquera solución informática.
É un tipo de programación 'orientada' ao procedemento. Programamos pensando nos procesos que imos que ter que aplicar aos datos dos que dispoñemos.
Vexamos un exemplo.
Imaxinemos que queremos programar unha solución informática para xestionar as contas bancarias.
Partimos de que temos uns datos: un número de conta, un saldo, un titular, unha dirección.
Creamos un programa no que definimos globalmente os datos, por exemplo en forma de array, no que cada elemento do array vai ser unha conta cos datos anteriores. Podemos ler ditos datos dende unha base de datos un dun arquivo.
Isto o faríamos en primeiro lugar utilizando unha estrutura secuencial.
Creamos os procedementos necesarios para tratar ditos datos, pensando no tratamentos que imos dar a ditos datos:
Procedemento de ingresarCartos, ao que mandaríamos como parámetro un número de conta e uns cartos. Buscaríamos dito número de conta no array e aumentaríamos o seus ingresos.
Procedemento de retirarCartos, ao que mandaríamos como parámetro un número de conta e uns cartos. Buscaríamos dito número de conta no array e diminuímos o seus ingresos.
....


  • A programación orientada a obxectos, denominada POO, basease no uso de clases e obxectos (instancias de clase) para dar unha solución informática a un problema.
É un tipo de programación 'orientada' ao dato. Programamos pensando na información que dispoñemos e 'modelizamos' ditos datos con clases.
Unha clase vai estar formada por 'variables' ('atributos na POO') e 'procedementos' ('métodos na POO') para tratar os datos gardados nas variables. Se temos unha fábrica de galletas, a clase Galleta sería o molde da galleta. Có molde podemos crear todas as galletas, pero o molde non é ningunha galleta en particular.
O obxecto dunha clase (denominado instancia de clase) ven ser cada un dos datos que queremos gardar na nosa solución informática. Dentro do mesmo código temos os valores que queremos gardar e os métodos que van poder tratar ditos valores. O conxunto dos valores que temos nun obxecto nun momento determinado denomínase estado do obxecto. Seguindo o exemplo da fábrica de galletas, cada obxecto (instancia de clase) ven ser unha galleta.
Na POO obtemos un código máis lexible e reutilizable.
A POO é máis cercada ao nosa forma de pensar. Podemos ver calquera cousa do que nos rodea e abstraer as súas propiedades para formar na nosa cabeza a idea de clase.
Así, se vemos un coche podemos abstraer as propiedades de cor, potencia, modelo,...! Acabamos de crear unha clase !. Para esas propiedades podemos crear múltiples instancias (obxectos) que van representar coches diferentes, cada un cuns valores diferentes (estado).
Seguindo o exemplo anterior das contas bancarias...
  • Creamos unha clase ContaBancaria que teña as seguintes variables (atributos ou propiedades) e procedementos (métodos):
  • Atributos: Número de conta, titular, saldo,...
Métodos:
ingresarCartos
retirarCartos
Ditos métodos non necesitan levar parámetros xa que van tratar os datos que se atopan definidos na mesma clase.
É dicir, se eu creo un obxecto desta clase, por exemplo:
conta1 => NumConta: 1111, Titular: 'Angel', Saldo: 4000
Os métodos que se atopan definidos na clase poden ser utilizados polo obxecto conta1. Ditos métodos van poder acceder aos datos da clase (número de conta e saldo).
  • Creamos unha clase Banco, formado por, entre outros atributos, un array de obxectos ContaBancaria. Ese array gardaría todas as contas bancarias dun banco.





-- Ángel D. Fernández González -- (2016).