类和对象
今天的主要内容是 类和对象的访问:
首先说一下,默认的属性和方法都是动态方法!
如果要做一个静态的属性或者方法,要加前置关键字 static !
(类被实例化为一个对象之后)
用对象(->)直接去调用属性和方法,叫做动态访问!
class dong{
var $a; //默认动态属性
function b(){ //默认动态方法
echo '12';
}
}
用类(::)直接去调用属性或者方法,叫做静态访问!
class jing{
static $a; //静态属性
static function b(){ //静态方法
echo '12';
}
}
一般情况下:
动态成员被动态调用(即对象);
静态成员被静态调用(即类);
但也有一个特殊情况:
动态方法可以被静态调用,前期是,方法里面没有$this,
如果有$this 必须是动态调用!
类和对象是非常大的一个概念,类和对象中有属性(变量),方法(函数)
当然也得有一个常量,所以,类中生成了一个常量 ,叫做 类常量 用关键字
const定义 const X = '1234';
在这里说一下,define()和const的区别:
define()函数是全局常量,只要用define()定义了常量,他就是全局的,在
任何地方都可以使用!
const是类常量,是局部常量,在哪个类中定义,就只能在哪个类中使用!
类常量的调用,只能用(::)调用,只能静态调用,不能动态调用;
类常量属于静态成员,也可以继承和覆盖!
<?php
header("content-type:text/html;charset=utf-8");
class a{
var $x = 1;
var $y = 2;
static function z(){
echo '3';
}
function zz(){
echo '4';
}
}
a::z();
echo '<br>';
$i = new a();
$i->z();
echo '<br>';
a::zz();
echo '<br>';
$i->zz();
//以上实例说明:静态方法,可以被动态调用也可以静态调用!
// 动态方法,可以被动态调用,也可以静态调用!
// 但是建议,动态尽量用动态调用,静态尽量静态调用!!
评论专区 |
相关文章 |