IntroduccionAPHP

Páginas: 27 (6750 palabras) Publicado: 19 de diciembre de 2015
Introducción a POO en PHP
La Programación Orientada a Objetos (POO) es un paradigma de desarrollo de software que permite definir a las
entidades como clases, permitiendo agrupar tareas similares. Generalmente intimida a los programadores PHP ya
que introduce una nueva sintaxis y aparenta ser más complicado que el código estructurado. Sin embargo, hace
que nuestro código sea más fácil de leer ymantener.

Diferencias entre objetos y clases
Es importante definir las diferencias entre estos dos términos y entender que no son sinónimos.
Una clase es como una plantilla (o molde). Define las propiedades, acciones y relaciones que posee una
entidad.
Un objeto es lo que se obtiene de la clase, es una instancia de ella.
Se pueden crear muchos objetos de una misma clase, todos ellosindependientes de otros.

Estructura
La sintaxis para crear una clase es bastante simple: se utiliza la palabra class , se le indica un nombre y se
encierra su código entre llaves.
class Auto
{
// código
}
?>

Luego de crear una clase, podemos instanciar una variable de la misma, esta variable es un objeto. Para hacerlo,
usamos la palabra reservada new .
$miAuto = new Auto;

Propiedades
Una clase puedecontener variables dentro, las cuales reciben el nombre de propiedades. Estas funcionan igual
que las variables normales, con la excepción que están atadas a la clase y sólo pueden ser accesibles a través de
un objeto de ella. Para agregar una propiedad a nuestra clase tenemos que hacer lo siguiente:
class Auto
{
public $ruedas = 4;
}

La palabra public determina la visibilidad de la propiedad,significa básicamente que se puede acceder al miembro
www.nebaris.com 2

por fuera de la clase. La propiedad se crea como una variable normal y puede asignársele un valor inicial (aunque
esto no es necesario).
Para leer la propiedad y mostrar su valor en el navegador, tenemos que acceder a ella a través de nuestro objeto,
de la siguiente forma:
echo $miAuto->ruedas;

El operador flecha -> nospermite acceder a un miembro del objeto que se encuentra a su izquierda.

Métodos
Si creamos una función dentro de una clase, ésta recibe el nombre de método. La idea es que las acciones que un
objeto puede realizar, sean definidas en la clase como métodos.
Si volvemos a ver nuestra clase Auto, nos damos cuenta que podemos hacer algo como lo siguiente:
$miAuto->ruedas = 3;

Como la propiedad $ruedas espública, podemos obtener su valor y también establecerlo. Esto es un error, ya que
no deberíamos poder modificar la cantidad de ruedas que tiene un auto. Para solucionar este problema, tenemos
que hacer dos cosas:
1) No permitir acceder a la propiedad desde fuera de la clase, utilizando el modificador de visibilidad private :
class Auto
{
private $ruedas = 4;
}

Si queremos ejecutar el ejemplo denuevo, obtendremos un error como el siguiente:
Fatal error: Cannot access private property Auto::$ruedas in C:\...\auto.php on line xx

Las variables privadas no pueden ser accedidas por fuera de la clase.
2) Agregar un método que nos permita saber cuántas ruedas tiene un auto
class Auto
{
private $ruedas = 4;
public function getRuedas()
{
return $this->ruedas;
}
}

Creamos una función que llama ala propiedad a través de la variable $this . La variable $this permite al objeto
referenciarse a si mismo.
Para poder mostrar por pantalla la cantidad de ruedas, escribimos el siguiente código:
www.nebaris.com 3

$miAuto = new Auto;
echo $miAuto->getRuedas();

Es una convención definir los métodos que retornan el valor de una propiedad (getter) con el prefijo "get" y a los
que establecen elvalor de una propiedad (setter) con el prefijo "set".
Supongamos que queremos establecer el nombre del propietario de un auto. Para eso vamos a crear una nueva
propiedad llamada $propietario y dos métodos: un get y un set.
class Auto
{
private $ruedas = 4;
private $propietario;
public function getRuedas()
{
return $this->ruedas;
}
public function getPropietario()
{
return $this->propietario;
}...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS