Re: php class类用法总结

添加时间:13-07-05 所属分类:PHP工具与代码
  七、关键字:
(一)this关键字:用于类的内部指代类的本身。来访问属性或方法或常量,如$this->属性名或方法名。$this::常量名。this还可以用在该类的子类中,来指代本身的属性或方法。
(二)双冒号“::”关键字:用于调用常量、静态成员。
(三)self关键字:在类的内部与双冒号配合调用静态成员,如 self::$staticVar.,在类的内部,不能用$this来调用静态成员。
(四)__toString():在类中使用__toString(),用于将类转成字串并打印类,用处不大:如:
class test{ public $p;
public function __toString(){ return var_export($this,TRUE); }
}
$a=new test();
echo $a; //输出:test::__set_state(array( ‘p’ => NULL, )),或写成:echo $a->__toString();
(五)__clone() :当克隆对象时,这个关键字才会发生作用,用于更改克隆时某些值。
(六)__call():方法重载,参下面示例:
class cB{
function __call($method,$n){
if($method==’showVarType’){
if(is_numeric($n[0])){ //不能用$n。要用$n[0];
$this->displayNum();
}else if (is_array($n[0])){
$this->displayArr();
}else{
$this->displayOther();
}
}
}
function displayNum() {
echo ‘<h3>这是数字!</h3>’;
}
function displayArr() {
echo ‘<h3>这是数组!</h3>’;
}
function displayOther() {
echo ‘<h3>不是数组也不是数字!</h3>’;
}
}

$x=’a';
$y=array(‘a’,'b’);
$b=new cB;
$b->showVarType($x); //不是数组也不是数字
$b->showVarType($y); //这是数组
注意,不能在类中定义showVarType()方法,否则代码不能用。
(七)extends:继承: 如class a{} class b extends a{} 类b继承了类a

附:记忆:以后统一在调用方法或属性时用 “-> “,调用常量则用双冒号“::”,不会搞晕。

八、方法和属性的作用域:
共有6种:public(默认,可省略,也等同于php6的var声明),private(私有,也不能由子类使用),protected(私有,但可由子类使用) ,abstract(抽象,参下文),final(阻止在子类中覆盖—也称重载,阻止被继承,用于修饰类名及方法,如final class test{ final function fun(){}} ,但不能用于属性),static(静态)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

前篇:一篇入门的php Class 文章 后篇:为救病儿63岁母亲沿街乞讨 济南市民爱心捐款
发表我的评论


推荐文章   济南15处免费避暑胜地   安徽29岁偏瘫教师回课堂:感谢母亲,想...   盲女心医:16年免费为2000人做心理援助   漫画《老两口》把日子记在漫画里   他们是青春中国最美的样子!
随机文章   PHP cURL实现模拟登录与采集使用方法详...   PHP curl函数模拟爬虫(操作cookie)   用CURL代替file_get_contents抓取GZIP压...   使用.htaccess来防止图片被盗链   PHP文件的加解密和混淆
广告

其他推荐

因为本站所有内容均转载自其它媒体,本意为公众提供免费服务,但并不代表本网赞同其观点,也不能对其真实性验证负责,如稿件版权单位或个人不想在本网发布,请与我联系,本人会立即将其撤除,谢谢.联系方式:atseashawk@163.com QQ:99289555