php手册之抽象类

手册目录: 语言参考---类与对象---抽象类

参考详情: 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

抽象类可以继承抽象类,同时会继承抽象方法,所以注意避免重复定义方法,以及实现类的实现个数.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值