MODIFICADORES DE ACCESO A ATRIBUTOS Y OBJETOS
María Guadalupe García Muñoz PROGRAMAR O MORIR TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACIÓN UTVT
Contenido OBJETIVO ............................................................................................................................................. 2 CONCEPTOS ......................................................................................................................................... 2 EJERCICIO ............................................................................................................................................ 3 CAPTURA DE PANTALLA DE DEMOSTRACIร N ..................................................................................... 6
pรกg. 1
OBJETIVO Modificadores de acceso a atributos y métodos (public - private). Confeccionar una clase Menu. Permitir añadir la cantidad de opciones que necesitemos. Mostrar el menú en forma horizontal o vertical, pasar a este método como parámetro el texto "horizontal" o "vertical". El método mostrar debe llamar alguno de los dos métodos privados mostrarHorizontal() o mostrarVertical().
CONCEPTOS Los modificadores de acceso son palabras clave que especifican la accesibilidad declarada de un miembro o un tipo. Esta sección presenta los cuatro modificadores de acceso:
Public Protected Internal Private
Mediante los modificadores de acceso se pueden especificar los siguientes cinco niveles de accesibilidad:
Public : acceso no restringido. Protected : acceso limitado a la clase contenedora o a los tipos derivados de esta clase. Internal : acceso limitado al ensamblado actual. Interno protegido: access se limita al ensamblado o a tipos actuales derivados de la clase contenedora. Private : acceso limitado al tipo contenedor.
Esta sección también presenta los siguientes temas:
pág. 2
Niveles de accesibilidad: utilizar los cuatro modificadores de acceso para declarar cinco niveles de accesibilidad. Dominio de accesibilidad: especifica dónde se puede hacer referencia a un miembro en las secciones de programa. Restricciones en el uso de los niveles de accesibilidad: resumen de las restricciones en el uso de los niveles de accesibilidad declarados.
EJERCICIO <html> <head> <title>Modificadores de acceso</title> </head> <body> <?php //Confeccionar una clase Menu. Permitir añadir la cantidad de opciones que necesitemos. Mostrar el menú en forma horizontal o vertical, pasar a este método como parámetro el texto "horizontal" o "vertical". El método mostrar debe llamar alguno de los dos métodos privados mostrarHorizontal() o mostrarVertical(). //La funcion de este sencillo ejemplo podremos demostra el uso de los modificadores de acceso y las ventajas que tiene su uso class Menu { private $enlaces=array(); private $titulos=array(); public function cargarOpcion($en,$tit) { $this->enlaces[]=$en; $this->titulos[]=$tit; } private function mostrarHorizontal() { for($f=0;$f<count($this->enlaces);$f++) { echo '<a href="'.$this->enlaces[$f].'">'.$this->titulos[$f].'</a>'; echo "-"; } } private function mostrarVertical()
pág. 3
{ for($f=0;$f<count($this->enlaces);$f++) { echo '<a href="'.$this->enlaces[$f].'">'.$this->titulos[$f].'</a>'; echo "<br>"; } }
public function mostrar($orientacion) { if (strtolower($orientacion)=="horizontal") $this->mostrarHorizontal(); if (strtolower($orientacion)=="vertical") $this->mostrarVertical(); } }
$menu1=new Menu(); $menu1->cargarOpcion('https://www.facebook.com/pages/Programar-omorir/224825961047505?ref=hl','FACEBOOK (programar o morir)'); $menu1->cargarOpcion('https://twitter.com/programaromorir','TWITTER (programar o morir)'); $menu1->cargarOpcion('http://mariamunoz93.wordpress.com/','Mi wordpress (programar o morir)'); $menu1->mostrar("horizontal"); echo '<br>'; $menu2=new Menu(); $menu2->cargarOpcion('https://www.youtube.com/user/elrubiusOMG','El RUBIUS'); $menu2->cargarOpcion('https://www.youtube.com/user/NoMeRevientes','No me revientes'); $menu2->cargarOpcion('https://www.youtube.com/user/elpulsodelarepublica','Noticias El pulso de la Republica');
pรกg. 4
$menu2->mostrar("vertical"); ?> </body> </html>
pรกg. 5
CAPTURA DE PANTALLA DE DEMOSTRACIร N
pรกg. 6