Como já mencionado, as classes abstratas podem conter métodos com implementação, 
                concertos, e sem implementação. Os métodos sem implementação são chamados de métodos 
                abstratos. 
            
            
                O acesso aos métodos concretos é feito de acordo com os modificadores de acessos 
                utilizados. 
            
            Sintaxe: abstrato
            
modificador_acesso abstract function nome_metodo( <lista_parametros> ) : tipo_retorno;
            Sintaxe: concreto
            
modificador_acesso abstract function nome_metodo( <lista_parametros> ) : tipo_retorno
{
    //implementação omitida
    return valor;
};
            Exemplo 3 
            
<?php
//main.php
abstract class AClasse 
{
    abstract public function metodo1(); //abstrato
        
    public function metodo2() //concreto
    {
        echo "metodo2","\n";
    }
}
?>
            
                Diferente dos protótipos de métodos definidos em interfaces, os métodos abstratos 
                quando definidos em classes abstratas devem conter modificador abstract. 
                Além disso, também possibilitam o uso dos modificadores de acesso(Exceto private) 
                com métodos de classes concretas.