日期:2011-09-21  浏览次数:20477 次

 

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 [一维数组] 
*/
  &