Atributos de una clase
Los atributos son las características, cualidades,
propiedades distintivas de cada clase. Determinan la apariencia,
estado y demás particularidades de la clase. Varios objetos de una misma clase
tendrán los mismos atributos pero con valores diferentes.
Lo
más conveniente es que los atributos sean privados para que solo los métodos de
la clase puedan modificarlos.
Creamos
una clase que muestre una lista de hipervínculos en forma horizontal
(básicamente un menú de opciones).
Lo primero que debemos pensar es que valores almacenará
la clase, en este caso debemos cargar una lista de direcciones web y los
títulos de los enlaces. Podemos definir dos vectores paralelos que almacenen
las direcciones y los títulos respectivamente.
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
//declaramos la clase
class Menu {
//declaramos los atributos
private $enlaces=array();
private $titulos=array();
//función constructora
public function cargarOpcion($en,$tit)
{
//accedemos a las variables
//Utilizamos la característica de PHP que un vector puede
ir creciendo solo con asignarle el //nuevo valor. El dato después de esta
asignación $this->enlaces[]=$en; se almacena al final //del vector.
$this->enlaces[]=$en;
$this->titulos[]=$tit;
}
//Este método será llamado tantas veces como opciones
tenga el menú.
//El siguiente método tiene por objetivo mostrar el menú
propiamente dicho
public function mostrar()
{
//Disponemos un for y hacemos que se repita tantas veces
como elementos tenga el vector //$enlaces (es lo mismo preguntar a uno u otro
cuantos elementos tienen ya que siempre //tendrán la misma cantidad). Para
obtener la cantidad de elementos del vector utilizamos la //función count.
for($f=0;$f<count($this->enlaces);$f++)
{
//Hay que acostumbrarse que cuando accedemos a los
atributos de la clase se le antecede el //operador $this-> y seguidamente el
nombre del atributo propiamente dicho. Si no hacemos //esto estaremos creando una
variable local y el algoritmo fallará.
echo '<a
href="'.$this->enlaces[$f].'">'.$this->titulos[$f].'</a>';
echo "-";
}
}
}
//Creamos un objeto mediante el operador new y seguido
del nombre de la clase. Luego //llamamos al método cargarOpcion tantas veces como
opciones necesitemos para nuestro //menú (recordar que SOLO podemos llamar a los
métodos de la clase si definimos un objeto //de la misma)
$menu1=new
Menu();
$menu1->cargarOpcion('http://www.google.com','Google');
$menu1->cargarOpcion('http://www.yahoo.com','Yhahoo');
$menu1->cargarOpcion('http://www.msn.com','MSN');
$menu1->mostrar();
?>
</body>
</html>
0 comentarios:
Publicar un comentario