Ejemplos clases

<?php

class ClaseSencilla {

// Declaración de una propiedad
 public $var = 'un valor predeterminado';

// Declaración de un método
 public function mostrarVar() {
 echo $this->var;
 }

public function __construct($var = "Instancia por defecto") {
 $this->var = $var;
 }

public function __destruct() {
 //Si hay algo que destruir
 }

}

$instancia = new ClaseSencilla("Instancia 1");
 $instancia->mostrarVar();

$otraInstancia = new ClaseSencilla("Instancia 2");
 $otraInstancia->mostrarVar();

$otraMas = new ClaseSencilla();
 $otraMas->mostrarVar();

//Visibilidad

/**
 * Definición de MyClass
 */
 class MyClass {

public $variablePublica = 'Public';
 protected $variableProtegida = 'Protected';
 private $variablePrivada = 'Private';

function printHello() {
 echo $this->variablePublica;
 echo $this->variableProtegida;
 echo $this->variablePrivada;
 }

}

$obj = new MyClass();
 echo $obj->variablePublica; // Funciona bien
 //echo $obj->variableProtegida; // Error Fatal
 //echo $obj->variablePrivada; // Error Fatal
 $obj->printHello(); // Muestra Public, Protected y Private

/**
 * Definición de MyClass2
 */
 class MyClass2 extends MyClass {

// Se pueden redeclarar las propiedades pública y protegida, pero no la privada
 public $public = 'Public2';
 //protected $protected = 'Protected2';

function printHello() {
 echo $this->public;
 echo $this->protected;
 // echo $this->private; // Undefined
 }

}

$obj2 = new MyClass2();
 echo $obj2->public; // Funciona bien
 //echo $obj2->protected; // Error Fatal
 //echo $obj2->private; // Undefined
 $obj2->printHello(); // Muestra Public2, Protected2, Undefined
 ?>

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos