especificação de interface pode ser considerada uma classe de modelo, especificamente como executar a operação ainda precisa de olhar para a forma de escrever uma herança subclasse, prestar atenção às necessidades específicas de local e redação da seguinte forma:
- método de interface interface deve ser a divulgação pública:
<?php
interface A{
public function info();
}
Em que o público pode ser omitido, abreviado como segue:
<?php
interface A{
function info();
}
Se a definição do tipo de método irá relatar um erro fatal: Método de acesso, a interface do tipo para A :: info () omitido na /wwwroot/api.php o deve estar na Linha 3 Por exemplo:
<?php
interface A{
private function info();
}
- Ele não requer uma interface interface de instanciação, mas precisa de implementos herdar, a variável definida na interface devem ser transmitidos, herdou a seguinte redacção:
<?php
interface A{
private function info($name);
}
class B implements A{
function info($name){
echo "Hello{$name}!";
}
}
$obj = new B();
$obj -> info('小桥');
- a interface interface pode definir constantes, mas não permite a definição de variáveis de membro, tais como:
<?php
class A {
const Num = 100;
}
Não tem problema, mas a definição de variáveis de membro como uma mensagem de erro aparece: o Parse erro: erro de sintaxe, inesperado '$ NUM' (T_VARIABLE), esperando função (T_FUNCTION) ou const (T_CONST) em /wwwroot/api.php na linha 3 , por exemplo, :
<?php
class A {
$num = 100;
}
- Se ocorrer um erro fatal quando uma subclasse de interfaces não-método definido na classe abstrata e nenhuma classe: Erro fatal: Método de acesso, a interface do tipo para A :: info () omitido na /wwwroot/api.php o deve estar na Linha 2 , por exemplo, :
<?php
interface A{
function info($name);
}
class B implements A{
function a($name){
echo "Hello{$name}!";
}
}
- interface de método de interface função não é recomendado para definir valores padrão, se a definição de subclasse também requer definido, por exemplo:
<?php
interface A{
function info($name = '小明');
}
class B implements A{
function info($name){
echo "Hello{$name}!";
}
}
Aparecerá Erro fatal: Declaração de B :: informação ( name = 'Bob') em /wwwroot/api.php na linha 6erros fatais, mesmo se você passar os valores método info (), por exemplo:
<?php
interface A{
function info($name = '小明');
}
class B implements A{
function info($name){
echo "Hello{$name}!";
}
}
$obj = new B();
$obj -> info('小明');
- Subclasses herdam várias interfaces e pode herdar uma interface entre:
//定义接口 A
interface A{
function info();
}
//定义接口 B 并继承接口 A
interface B extends A{
function eat($name, $food);
}
//定义子类 C 使用接口 B
class C implements B{
function info(){
echo '接口继承<br/>';
}
function eat($name = '小明', $food = '菜'){
echo $name . "正在吃" . $food . '<br>';
}
}
$demo = new C();
$demo -> info();
$demo -> eat();
$demo -> eat('小红', '苹果');