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.