Heim  >  Artikel  >  php教程  >  PHP面向对象 抽象类 接口 常量学习

PHP面向对象 抽象类 接口 常量学习

WBOY
WBOYOriginal
2016-06-21 08:51:021182Durchsuche

 

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面向对象 ,接口的定义使用

 

   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;

   

?>

 

两个例子:

 

抽象类的例子:

 

 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);

 

   

   

 

}

 

?>

 

接口的学习例子:

 

 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接口

 

 

?>



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
Vorheriger Artikel:巧用PHP正则表达式判断IP地址Nächster Artikel:22个开源的PHP框架