Heim  >  Artikel  >  Backend-Entwicklung  >  按php手册里的abstract代码没有问题,下面代码哪里错了?

按php手册里的abstract代码没有问题,下面代码哪里错了?

WBOY
WBOYOriginal
2016-06-20 12:52:29903Durchsuche

abstract class A{    abstract public function b();   }class B extends A{    public function b(){        print "ok";    }}$k = new B();

$k没有调用b()方法,为什么会出现
按php手册里的abstract代码没有问题,上面代码哪里错了?


回复讨论(解决方案)

没有错

class  B extends A{
    public function  b(){
        print "ok";
    }
}
方法 b 是类 B 的构造函数,在实例化时自动执行,所以有 ok 被输出

没有错

class  B extends A{
    public function  b(){
        print "ok";
    }
}
方法 b 是类 B 的构造函数,在实例化时自动执行,所以有 ok 被输出


只要是和类名是相同字母的函数都会被当成构造函数吗?

没有错

class  B extends A{
    public function  b(){
        print "ok";
    }
}
方法 b 是类 B 的构造函数,在实例化时自动执行,所以有 ok 被输出


很感谢,结账。

对的!
与类同名的方法就是构造函数
这是从 C++ 继承来的特征

而构造函数 __construct 是从 Java 继承来的

php 中,两种声明构造函数的方法是并存的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn