Temas > Programacion > Php > Atributos de una clase en php
Julio

Ahora trataremos de concentrarnos en los atributos de una clase.
Los atributos son las características, cualidades, propiedades
distintivas de cada clase. Contienen información sobre el objeto.
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.
Cuando creamos un objeto de una clase determinada, los atributos
declarados por la clase son localizadas en memoria y pueden ser
modificados mediante los métodos. Lo más conveniente es que los
atributos sean privados para que solo los métodos de la clase puedan
modificarlos. Plantearemos un nuevo problema para analizar
detenidamente la definición, sintaxis y acceso a los atributos.
Problema: Implementar 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.
Definiremos dos métodos: cargarOpcion y mostrar.
pagina1.php
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
class Menu {
   private $enlaces=array();
   private $titulos=array();
   public function cargarOpcion($en,$tit)
   {
      $this->enlaces[]=$en;
      $this->titulos[]=$tit;
   }
   public function mostrar()
   {
      for($f=0;$f<count($this->enlaces);$f++)
      {
echo `<a href="`.$this->enlaces[$f].`">`.$this->titulos[$f].`</a>`;
         echo "-";
      }
   }
}
$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>
Analicemos ahora la solución al problema planteado, como podemos
ver normalmente los atributos de la clase se definen inmediatamente
después que declaramos la clase:
<?php
class Menu {
   private $enlaces=array();
   private $titulos=array();
}
?>
Si queremos podemos hacer un comentario indicando el objetivo de
cada atributo. Luego tenemos el primer método que añade a los vectores
los datos que llegan como parámetro:
<?php
   public function cargarOpcion($en,$tit)
   {
      $this->enlaces[]=$en;
      $this->titulos[]=$tit;
   }
?>
Conviene darle distinto nombre a los parámetros y los atributos
(por lo menos inicialmente para no confundirlos).
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.
Este método será llamado tantas veces como opciones tenga el menú.
El siguiente método tiene por objetivo mostrar el menú propiamente
dicho:
<?php
   public function mostrar()
   {
      for($f=0;$f<count($this->enlaces);$f++)
      {
echo `<a href="`.$this->enlaces[$f].`">`.$this->titulos[$f].`</a>`;
         echo "-";
      }
   }
?>
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.
Dentro del for imprimimos en la página el hipervínculo:
         echo `<a
href="`.$this->enlaces[$f].`">`.$this->titulos[$f].`</a>`;
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á.
Por último para hacer uso de esta clase Menu debemos crear un
objeto de dicha clase (lo que en programación estructurada es definir
una variable):
<?php
$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();
?>
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)
Finalmente llamamos al método mostrar que imprime en la página
nuestro menú.













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal