<?php
//换行输出
function println($var){
echo $var;
echo "<br />";
}
abstract class Father
{
abstract function fun1();//抽象方法只声明,不实现
abstract protected function fun2();
function fun3(){
println("I am not abstract method...");
}
private function fun4(){
println("private method...");
}
}
class Child extends Father
{
//父类中fun1默认的可见性为public,所以子类中该方法的可见性必须为public
function fun1(){
println("fun1 executed...");
}
//?此处可见性为protected时将报错,我的php版本为php-5.4.7
function fun2(){
println("fun2 executed...");
}
}
$obj=new Child();
$obj->fun1();//fun1 executed...
$obj->fun2();//fun2 executed...
$obj->fun3();//I am not abstract method...
//$obj->fun4();//父类私有方法不能继承
?>
<?php
//换行输出
function println($var){
echo $var;
echo "<br />";
}
//定义一个接口动物
interface Animal{
function walk();
function eat();
}
//定义一个接口人继承自动物
interface Person extends Animal{
function talk();
}
//定义一个接口中国人
interface Chinese{
function work();
}
//定义一个类,实现了Person和Chinese两个接口,必须实现两个接口中的所有方法
class ChineseWorker implements Person,Chinese{
function walk(){
println("walking...");
}
function eat(){
println("eating...");
}
function talk(){
println("talking...");
}
function work(){
println("working in china...");
}
}
$worker=new ChineseWorker();
$worker->walk();//walking...
$worker->eat();//eating...
$worker->talk();//talking...
$worker->work();//working in china...
?>