NombreDeLaClase |
---|
atributos |
------------------- |
métodos |
- NombreDeLaClase: Nombre de la clase, debe de ir en notación StudlyCaps, centrado y en negritas.
- atributos: Lista de atributos, en notación camelCase.
- métodos: Lista de Métodos, en notación camelCase.
- Pública:
+
. - Protegida:
#
. - Privada:
-
.
+ nombre: String
+
: Visibilidad.nombre
: Nombre del atributo.String
: Tipo de variable.
+ agregarEntrada(nuevaEntrada : BlogEntrada, autor : Autor): void
+
: Visibilidad.agregarEntrada
: Nombre del método.()
: Paréntesis para parámetros.nuevaEntrada
: Nombre del primer parámetro.BlogEntrada
: Tipo de valor del parámetro.
void
: Valor de retorno.
Los Métodos o Atributos estáticos deben estar subrayados. Los Métodos o Atributos abstractos deben estar en itálica. Incluso el nombre de la Clase debe estar en itálica de ser una clase abstracta.
Hay cinco tipos de relaciones:
- Dependencia:
<---
Flecha con línea punteada. - Asociación:
<———
Línea solida normal. - Agregación:
<>———
Flecha con punta de diamante vacía. - Composición:
<>---
Flecha con punta de diamante rellena. - Herencia:
<|———
Flecha con punta de triangulo vacía.
Una dependencia es una relación de uso entre dos entidades, una usa a la otra. Es el tipo de relación más débil y básica entre clases. Se representa con una línea punteada y una flecha <---
, que indica que clase depende de cual.
A ----> B
- Aquí, la clase A depende de la clase B.
- La clase A usa la clase B.
- La clase A conoce la existencia de la clase B, pero la clase B no conoce la existencia de la clase A, (uso de la flecha).
- Todo cambio que se haga en la clase B, por la relación que hay con la clase A, podrá afectar a la clase A.
También se le conoce como relación de uso, porque la clase A usa a la clase B.
class A
{
public function ejecutar()
{
$b = new B();
}
}
Significa que una clase contendrá una referencia a un objeto, u objetos de la otra clase en forma de un atributo. Si te encuentras diciéndote que una clase trabaja con un objeto de otra clase, entonces la relación entre ellas será altamente candidata para un relación de asociación en lugar de una de una de dependencia.
Se representa con una línea solida <———
y la flecha indica la Navegación que es aplicada para describir que clase contiene el atributo que soporta dicha relación.
A ———> B
class A
{
private $_b;
public function __construct()
{
$this->_b = new B();
}
}
La relación tipo agregación es una versión más fuerte de la de asociación, y es utilizada para indicar que clase posee pero puede compartir objetos de otra clase.
Es una relacción que en lugar de ser de '1 a 1' ahora es de '1 a muchos', la clase A agrega muchos elementos de la clase B.
A <>——— B
Su representación es una linea continua con un rombo vacío.
Similar a la de agregación, solo que además de agregar, ahora existe una relación de vida, donde elementos de B no pueden existir sin la relación de A.
A <>——— B
Su representación es una linea continua con un rombo relleno.
A
^
|
B
class A
{
}
class B extends A
{
}