hola nuevamente, tengo un problema ahora que creo que mas que duda es un error que no logro identificar.
Intento aplicar una interfaz.
class.Door.php
Código PHP:
Ver original<?php
require_once('interface.Opener.php');
class Door implements Openable{
private $_locked = false;
public function open(){
if($this->_locked){
print "No se puede abrir la puerta. Esta bloqueado";
}else{
print "Sonido de Abrir";
}
}
public function close(){
print "Sonido de Cerrar<br>";
}
public function lockDoor(){
$this->_locked = true;
}
public function unlockDoor(){
$this->_locked = false;
}
}
class.Jar.php
Código PHP:
Ver original<?php
require_once('interface.Opener.php');
class Jar implements Openable{
private $contents;
public function __construct($contents){
$this->contents = $contents;
}
public function open(){
print "El Frasco esta abierto ahora";
}
public function close(){
print "El Frasco esta ahora cerrado";
}
}
interface.Openable.php
Código PHP:
Ver original<?php
interface Openable{
abstract function open();
abstract function close();
}
?>
y cuando ejecuto el test, no muestra lo que creo que mostraria(mensajes del método open).
archivo test.Openable.php
Código PHP:
Ver original<?php
require_once('class.Door.php');
require_once('class.Jar.php');
function openSomething(Openable $obj){
$obj->open();
}
$objDoor = new Door();
$objJar = new Jar('Hola');
$openSomething($objDoor);
$openSomething($objJar);
?>
Todos los archivos están en el mismo directorio.