Heim > Artikel > Backend-Entwicklung > PHP-objektorientiert (3)
1. Im vorherigen Artikel habe ich etwas über die Vererbung, Eigenschaften und statischen Attribute von PHP gelernt.
2. In diesem Artikel werde ich etwas über die Klassenkonstanten von PHP erfahren , automatisches Laden von Klassen und Konstruktoren Funktionen und Destruktoren
3. Automatisches Laden von Objekte
<span> (1)常量的值始终不变,在定义和使用常量的时候不需要使用$符号 (2)接口(interface)中也可以定义常量</span>
<pre name="code">#定义和使用一个类常量 class aclass{ const a="a 是常量"; function showA(){ echo self::a; } } echo aclass::a; //结果:a 是常量 echo aclass::showA(); //结果:a 是常量 $classname="aclass"; echo $classname::a; //结果:a 是常量 $ac=new aclass(); $ac->showA(); //结果:a 是常量 //PHP 5.3.0之后支持 $ac::a;5. Konstruktor
<span></span><pre class="brush:php;toolbar:false"><span> (1)__autoload 函数,它会在试图使用尚未被定义的类时自动调用 (2) 不需要使用过量的include (3)_autoload函数中抛出异常不能被catch捕获 (4)如果使用phpCLI交互模式时,自动加载不存在</span>
<pre name="code"> function __autoload($cName){ require_once $cName . 'php'; } $d=new demo_aclass(); $d->say();
<span></span><pre class="brush:php;toolbar:false"><span> (1) __construct (args) 方法,实现构造函数 (2)构造函数可以每次创建的时候,先调用此方法,完成初始化工作 (3)子类中定义了构造函数不会自动调用父类构造函数 (4)若执行父类构造函数,需要在子类中调用 parrent::_construct()</span>
<span></span>
<pre name="code"> class baseClass{ function __construct(){ echo "base construct"; } } class subClass extends baseClass{ function __construct(){ parent::__construct(); echo "sub construct"; } } $bas=new baseClass(); $sub=new subClass();
<span></span>
<span><span>6.析构函数</span></span>
<span></span>(1)void__destruct(void) (2)析构函数会在某个对象的所有引用都删除或者当对象被显示销毁时执行 (3)和构造函数一样,不会自动调用,当子类在析构函数中显示调用时执行 (4)parent::__destruct()<span style="color:#46830d;"> </span> echo "<br>"; class myClass{ function __construct(){ echo "construct 构造函数"; } function __destruct(){ echo "析构函数执行:".$this->name; } } $mc=new myClass();<span style="color:#46830d;"> </span>
<span>下篇将学习php-面向对象: <spanbitstream vera sans line-height:23.2000007629395px>访问控制</spanbitstream></span>
<span></span>Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne Genehmigung des Bloggers reproduziert werden.