我们一起学php(面向对象四)



2017-02-02 17:36:10

类和对象


今天的主要内容是 类和对象的访问:


首先说一下,默认的属性和方法都是动态方法!


如果要做一个静态的属性或者方法,要加前置关键字 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();  

//以上实例说明:静态方法,可以被动态调用也可以静态调用!

// 动态方法,可以被动态调用,也可以静态调用!

// 但是建议,动态尽量用动态调用,静态尽量静态调用!!







































上一篇 我们一起学php(面向对象三)

下一篇我们一起学php(面向对象五)


相关文章


我们一起学php(面向对象三)     2017-02-01 14:13:40

我们一起学php(面向对象一、二)     2017-02-01 12:20:57

我们一起学php(session)     2017-01-30 20:15:20

我么一起学php(cookie)     2017-01-29 14:56:44

我么一起学php(函数二)     2017-01-29 14:53:46

新年寄语     2017-01-28 10:57:45

我们一起学php(函数)     2017-01-21 21:44:58

我看到 ‘山寨币市场很混乱’     2017-01-21 14:22:38

我们一起学php(循环)     2017-01-21 11:40:44

我们一起学php(选择结构)     2017-01-19 21:46:00

回到顶部