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