html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP面向对象 抽象类 接口 常量学习_PHP教程_编程技术

[ ] 已经帮助:人解决问题

 QWBHTML5中文学习网 - HTML5先行者学习网

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接口
 
 
?>
QWBHTML5中文学习网 - HTML5先行者学习网
QWBHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助