Metodos y propiedades estaticas entre clases
Todas las clases conllevan a tener su propios Métodos y propiedades estáticas entre cada una de las clases, en este ejemplo mostrare como efectuar la herencia de dicho métodos/propiedades entre dos clases ademas del uso básico de los mismo.
aquí el código.
aquí el código.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Metodos y propiedades estaticas</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<section>
<?php
//metodos privilegiados
class Persona{
protected $nombre;
protected $edad;
protected $apellido;
//propiedad static
public static $color="Rosado";
//buca describir
function __construct($nombre,$apellido,$edad){
$this->nombre=$nombre;
$this->apellido=$apellido;
$this->edad=$edad;
}
function saludar(){
echo "Hola".$this->nombre.", ¿Como Estas $this->nombre?";
}
function getNombre()
{
return $this->nombre;
}
function setNombre($nombre)
{
$this->nombre=$nombre;
}
private function metodo1()
{
echo "Metodo1<br>";
}
private function metodo2()
{
echo "Metodo2<br>";
}
//funcion estatica
public static function Hi()
{
return "Hellow<br>";
}
public function EjecP()
{
return static::$color;
}
//self
public function EjecP2()
{
return self::Hi();
}
}//fin class perosna
//creando class hermano
//heredando class persona
class Hermano extends Persona{
function presentacion(){
echo "Nombre: $this->getNombre()";
}
public function execute(){
return $this->$color;
}
//parent
public function ejecutar2(){
return parent::$color;
}
public function ejecutar3(){
return parent::Hi();
}
}
$Nicolla = new Persona('Nicolla','S.',15);
$hermano = new Hermano('Oscar','S.',5);
//static declara metodos y propiedades etstaicas
// pro
echo Persona::$color."<br>";
echo $Nicolla::$color."<br>";
//self
echo $Nicolla::Hi();
echo $Nicolla::EjecP();
echo $Nicolla::EjecP2();
//parent:: acceder de una clase padre a sublaces pro o metodfo
echo $hermano->execute()."<br>";
echo $hermano->ejecutar2()."<br>";
echo $hermano->ejecutar3()."<br>";
?>
</section>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Metodos y propiedades estaticas</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<section>
<?php
//metodos privilegiados
class Persona{
protected $nombre;
protected $edad;
protected $apellido;
//propiedad static
public static $color="Rosado";
//buca describir
function __construct($nombre,$apellido,$edad){
$this->nombre=$nombre;
$this->apellido=$apellido;
$this->edad=$edad;
}
function saludar(){
echo "Hola".$this->nombre.", ¿Como Estas $this->nombre?";
}
function getNombre()
{
return $this->nombre;
}
function setNombre($nombre)
{
$this->nombre=$nombre;
}
private function metodo1()
{
echo "Metodo1<br>";
}
private function metodo2()
{
echo "Metodo2<br>";
}
//funcion estatica
public static function Hi()
{
return "Hellow<br>";
}
public function EjecP()
{
return static::$color;
}
//self
public function EjecP2()
{
return self::Hi();
}
}//fin class perosna
//creando class hermano
//heredando class persona
class Hermano extends Persona{
function presentacion(){
echo "Nombre: $this->getNombre()";
}
public function execute(){
return $this->$color;
}
//parent
public function ejecutar2(){
return parent::$color;
}
public function ejecutar3(){
return parent::Hi();
}
}
$Nicolla = new Persona('Nicolla','S.',15);
$hermano = new Hermano('Oscar','S.',5);
//static declara metodos y propiedades etstaicas
// pro
echo Persona::$color."<br>";
echo $Nicolla::$color."<br>";
//self
echo $Nicolla::Hi();
echo $Nicolla::EjecP();
echo $Nicolla::EjecP2();
//parent:: acceder de una clase padre a sublaces pro o metodfo
echo $hermano->execute()."<br>";
echo $hermano->ejecutar2()."<br>";
echo $hermano->ejecutar3()."<br>";
?>
</section>
</body>
</html>
Comentarios
Publicar un comentario