php總結_1

 1 ?php
 2 //檢測變量類型,本身用的最多的是is_array()了,其餘的幾乎沒用過
 3 $array = array(1,9.9,'abc',array(1,2,3),true,null,);
 4 v(is_bool(111));    //false
 5 v(is_integer(9.9));    //false
 6 v(is_double(9.9));    //true
 7 v(is_string('abc'));    //true
 8 v(is_null(''));        //false
 9 v(is_null(null));    //true
10 v(is_array($array));    //true
11 function v($var){
12     var_dump($var);
13 }
14 ?>

//類型提示php

 1 <?php
 2 class A{
 3     public $name = 'a';
 4     public function say(){
 5         echo 'I am ',$this->name;
 6     }
 7 }
 8 class B{
 9     //類型提示
10     public function say(A $A){
11         return $A->say();
12     }
13 }
14 class C{}
15 $A = new A();
16 $B = new B();
17 $B->say($A);        //I am a
18 $B->say(new C());    //報錯 Argument 1 passed to B::say() must be an instance of A, instance of C given
19 ?>

靜態方法和屬性
static關鍵字是在php 5才引入的。
靜態方法是以類爲做用域的函數,不能訪問這個類中的普通屬性,由於普通屬性屬於一個對象,但可訪問靜態屬性。ide

 1 <?php
 2 class A{
 3     static public $msg='hello';
 4     static function say(){
 5         return self::$msg;
 6     }
 8 }
 9 class B extends A{
10     static public $msg = 'world';
11     static function say(){
12         return parent::say().' '.self::$msg;
13     }
14 }
15 echo B::say();        //hello world
16 ?>

常量:類訪問,聲明時無需$符,且值不可改函數

 1 <?php
 2 //類訪問,聲明時無需$符,且值不可改
 3 class A{
 4     const PI = 3.14;
 5     public function test(){
 6         //self::PI = 3.15;    //報錯
 7         return self::PI;
 8     }
 9 }
10 $a = new A();
11 echo $a::PI;        //3.14
12 echo $a->test();    //3.14
13 ?>

抽象類:PHP 5引入,不能被實例化,只定義或部分實現子類須要的方法。子類繼承並實現其中的抽象方法,使抽象類具體化。this

 1 <?php
 2 abstract class A{
 3     protected $name;
 4     public function sing(){
 5 
 6     }
 7     abstract public function eat();        //以分號結束
 8 }
 9 //$a = new A();    //Cannot instantiate abstract class A
10 
11 class dog extends A{
12     // Class dog contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (A::eat)
13 }
14 ?>

多數狀況下,抽象類至少包含一個抽象方法,其中不能有具體內容。以下:spa

  abstrac function test();code

抽象類的每一個子類都必須實現抽象類中的全部抽象方法。新的實現方法的訪問控制權限不能比抽象方法嚴格,參數個數也要一致。對象

原文博客地址:http://www.cnblogs.com/lltong/blog

相關文章
相關標籤/搜索