}
    public function ingresarNombre($nombre)
    {
        $this->nombre = $nombre;
    }
    public function obtenerNombre()
    {
        echo $this->nombre;
    }
    //$apellido CON TEXTO POR DEFECTO
    public function ingresarNombreApellido($nombre, $apellido = "Quisilema")
    {
        $this->nombre = $nombre;
        $this->apellido = $apellido;
    }
    public function obteneNombreApellido()
    {
        echo $this->nombre;
        echo $this->apellido;
    }
}
$persona = new Persona();
$persona->mostrar();
$persona->ingresarNombre("Armando");
$persona->obtenerNombre();
echo "<br/>";
$persona->ingresarNombreApellido("Diego ");
$persona->obteneNombreApellido();
echo "<br/>";
$persona->ingresarNombreApellido("Armando ", "Simbaña");
$persona->obteneNombreApellido();
<?php

abstract class Molde
{
    public abstract function ingresarNombre($nombre);
    public abstract function obtenerNombre();
}
//Molde::mensaje("Hola Mundo");
class Persona extends Molde
{
    private $mensaje = "Hola gente de codigo facilito";
    private $nombre;
    public function mostrar()
    {
        print $this->mensaje;
    }
    public function ingresarNombre($nombre)
    {
        $this->nombre = $nombre;
    }
    public function obtenerNombre()
    {
        print $this->nombre;
    }
}
$obj = new Persona();
$obj->ingresarNombre("Carlos");
$obj->obtenerNombre();
    public abstract function obtenerNombre();
}
class Persona extends Molde
{
    private $mensaje = "Hola Mundo";
    private $nombre;
    public function mostrar()
    {
        print $this->mensaje;
    }
    public function ingresarNombre($nombre, $username = "******")
    {
        $this->nombre = $nombre . $username . "<br>";
    }
    public function obtenerNombre()
    {
        print $this->nombre;
    }
}
//Molde::mensaje("Hola Mundo");
/*
	$obj = new Persona();
	$obj->mostrar();
Class Persona contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Molde::ingresarNombre, Molde::obtenerNombre)
*/
$obj = new Persona();
$obj->ingresarNombre("Felipe");
$obj->obtenerNombre();
//Las clases abstractas permiten parámetros adicionales
$obj->ingresarNombre("Felipe ", "Quijano");
$obj->obtenerNombre();