PHP物件導向 抽象類別 介面 常量學習

來源:互聯網
上載者:User

 

PHP抽象類別的使用和定義 <?php  abstract class A {   public $name;   function fun(){    echo $this->name;   }  abstract function cc($n,$nn=3); } class B extends A{   function cc($m,$mm=7){   echo "aaa";   } } $b = new B; ?>PHP物件導向 ,介面的定義使用<?php     interface in_a{    const NA=7;const NB=9;   function fun();   function fun2();   }      interface in_b{    function fun3();   }   class B{    function cc(){}   }   class A extends B implements in_a,in_b{     function fun(){}function fun2(){}function fun3(){}      }      $p=new A;   ?> 兩個例子: 抽象類別的例子: <?php  abstract class mysql{    public $host;//主機地址public $user;//使用者名稱public $passwd;public $dbname;public $charset; function __construct($h,$u,$p,$d,$c){ $this->host=$h; $this->user=$u; $this->passwd=$p; $this->dbname=$d; $this->charset=$c; $this->conn();} function conn(){@mysql_connect($this->host,$this->user,$this->passwd) or die ("mysql串連失敗");@mysql_select_db($this->dbname) or die("資料庫連接失敗");$this->q("set names '".$this->charset."'");} function q($n){ return mysql_query($n);} function id(){ return mysql_insert_id();} function f($n,$st=1){ switch($st){ case 1 : $rs=mysql_fetch_array($n); break; case 2 : $rs=mysql_fetch_row($n); break;}return $rs; }//========================/***說明:into插入資料庫的方法*參數:$tb表名,$val表示插入值,$st調試方式,1調試0不調試*返回:int  */   abstract function into($tb,$val,$st=0);      /***說明:sel_once查詢*參數:$tb表名,$wh條件預設1,$ar制定的欄位,$ty查詢類型,預設下標和鍵名,$st調試狀態,預設為0,1調試0不調試*返回:array [一維數組] */   abstract function sel_once($tb,$wh=1,$ar="*",$ty=1,$st=0);    /***說明:sel_all查詢*參數:$tb表名,$wh條件預設1,$ar制定的欄位,$ty查詢類型,預設下標和鍵名,$st調試狀態,預設為0,1調試0不調試*返回:array [二維數組] */   abstract function sel_all($tb,$wh=1,$ar="*",$ty=1,$st=0);    /***說明:update更新資料庫的方法*參數:$tb表名,$val更新內容$wh條件[1 limit 1],$st調試方式預設0,1調試0不調試*返回:int  */   abstract function update($tb,$val,$wh="1 limit 1",$st=0);       /***說明:del刪除資料庫的方法*參數:$tb表名,$wh條件[1 limit 1],$st調試方式預設0,1調試0不調試*返回:int  */   abstract function del($tb,$wh="1 limit 1",$st=0);        } ?> 介面的學習例子: <?php  interface in_a{   /**   說明:登陸方法login   參數:$user使用者名稱,$passwd密碼   返回:bool [產生cookie]   */   function login($user,$passwd); }   interface in_b{   /**   說明:checkLogin檢查登陸   參數:$n使用者預設許可權 1 可以指定不同頁面使用者不同許可權   返回:bool   */  function checkLogin($n=1); }   interface in_c{   /**   說明:checkLoginTime檢查登陸是否逾時   參數:$n是逾時時間預設3600秒   返回:bool   */  function checkLoginTime($n=3600); }  //題目1要求:登陸頁面要求使用in_a in_b介面 //題目2要求:登陸後頁面要求使用 in_b in_c介面  ?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.