Difference between revisions of "Ámbito de clases PHP"
Jump to navigation
Jump to search
(Created page with "'''Tipo Public''' Los miembros de clases declarados como public pueden ser accedidos desde cualquier lado.Si se declaran usando var, serán definidas como public. '''Tipo Pri...") |
|||
Line 1: | Line 1: | ||
== Tipo Public == | |||
Los miembros de clases declarados como public pueden ser accedidos desde cualquier lado.Si se declaran usando var, serán definidas como public. | Los miembros de clases declarados como public pueden ser accedidos desde cualquier lado.Si se declaran usando var, serán definidas como public. | ||
== Tipo Private == | |||
Aquellos miembros definidos como private, únicamentede pueden ser accedidos desde la clase que los definió. | Aquellos miembros definidos como private, únicamentede pueden ser accedidos desde la clase que los definió. | ||
== Tipo Protected == | |||
Los miembros declarados como protected, sólo desde la misma clase, desde las clases que hereden de ella y desde las clases parent. | Los miembros declarados como protected, sólo desde la misma clase, desde las clases que hereden de ella y desde las clases parent. | ||
== Ejemplo == | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<?php | <?php |
Revision as of 19:41, 5 December 2014
Tipo Public
Los miembros de clases declarados como public pueden ser accedidos desde cualquier lado.Si se declaran usando var, serán definidas como public.
Tipo Private
Aquellos miembros definidos como private, únicamentede pueden ser accedidos desde la clase que los definió.
Tipo Protected
Los miembros declarados como protected, sólo desde la misma clase, desde las clases que hereden de ella y desde las clases parent.
Ejemplo
<?php
/**
* Definición de MyClass
*/
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new MyClass();
echo $obj->public; // Funciona bien
echo $obj->protected; // Error Fatal
echo $obj->private; // Error Fatal
$obj->printHello(); // Muestra Public, Protected y Private
/**
* Definición de MyClass2
*/
class MyClass2 extends MyClass
{
// Se puede redeclarar los métodos public y protected, pero no el private
protected $protected = 'Protected2';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj2 = new MyClass2();
echo $obj2->public; // Funciona bien
echo $obj2->protected; // Error Fatal
echo $obj2->private; // Undefined
$obj2->printHello(); // Muestra Public, Protected2, Undefined
?>