php_orientado_a_objetos

Page 95

Programación Orientada a Objetos en PHP5 Edición: Julio 2009 / Usuario: Juan Zapata

95 de 294

SURFORCE / FORMACIÓN www.surforce.com

Cómo se traduce a código Creando una clase A que tiene como atributo un objeto de tipo clase B. A.php

<?php require_once 'B.php'; class A { private $_b; public function __construct() { $this->_b = new B(); } }

Lo ideal sería que en la misma definición del atributo poder hacer la creación de la instancia del objeto sin depender de un constructor (como sucedería en Java), pero el detalle aquí es que PHP no soporta la creación de instancias en la definición de atributos, solo podríamos hacer una asignación directa si el atributo es un array, pero no crear una instancia (con “new”). Solo podremos crear las instancias de nuestros atributos en el constructor o dentro de los métodos de la clase.

$a = new A();

Varios detalles a tener en cuenta: 

En el diagrama no se especifica en la clase A, en la zona de atributos, el atributo “b”, pero se puede inferir de la relación representada en el diagrama. Por lo tanto está sujeto a decisión de cada uno agregar o no más detalle en el diagrama (lo cual dependerá siempre del público objetivo del mismo).

Como no se especifica, tampoco parece decir nada sobre su visibilidad: mantendremos siempre el criterio que los atributos por defecto son siempre “no públicos”, por lo tanto por defecto son “privados” (más adelante veremos otras posibilidades).

SURFORCE | mail: info@surforce.com | web: http://www.surforce.com Licencia: http://creativecommons.org/licenses/by-nc/3.0/


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.