您的位置:首页 > 编程语言 > PHP开发

php手册之抽象类

2015-10-17 15:26 513 查看
手册目录: 语言参考---类与对象---抽象类

参考详情: https://secure.php.net/manual/zh/language.oop5.abstract.php
评论部分:

1. by joelhy

尽管不能使用new来创建抽象类的实例,但是依然可以使用::来调用抽象类中的静态方法,如:

<?php
abstract class Foo
{
static function bar()
{
echo "test\n";
}
}
Foo::bar();
?>

输出test

2. by arma99eDAN@yahoo.com

你可以像这样使用abstract:

<?php
abstract class A{
public function show(){
echo 'A';
}
}
class B extends A{
public function hello(){
echo 'B';
parent::show();
}
}
$obj = new B;
$obj->hello(); // BA
?>

#抽象类不一定包含有抽象方法

#抽象类可继承,并且可以在子类中使用parent关键字

3. by rmoisto@gmail.com

just  some codes:

<?php
abstract class Basic {
public static function doWork() {
return static::work();
}

abstract public static function work();
}
class Keeks extends Basic {
public static function work() {
return 'Keeks';
}
}

echo Keeks::doWork();   //output Keeks
?>

#声明静态抽象方法

#抽象类中非抽象方法里调用静态抽象方法,务必不能使用self,请使用static代替

4. by bishop

实际上,抽象类不一定是基类,它也可以继承别的类或者抽象类.如:

<?php
class Foo {
public function sneeze() { echo 'achoooo'; }
}
abstract class Bar extends Foo {
public abstract function hiccup();
}
class Baz extends Bar {
public function hiccup() { echo 'hiccup!'; }
}

$baz = new Baz();
$baz->sneeze();  //achoooo
$baz->hiccup();  //hiccup!
?>

5. by sneakyimp@hotmail.com

抽象类可以继承抽象类,同时会继承抽象方法,所以注意避免重复定义方法,以及实现类的实现个数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: