php 面向对象 013.7.6

创建类

[修饰关键字]  class  ClassName(){

【public ,private protected static var】$name ;  //必须要有修饰词,不确定性质时 用var

【public ,private protected static 】 function  funName(){}

}

名字的首字母都大写

用类来创建对象

$object = new ClassName;

外部访问类的属性、方法

$object->name;

$object->funName();

内部访问类的属性、方法

使用 $this;......代表调用这个方法的对象   public  function funName(){$this->name = "liubin";}

构造方法:

1.)与类同名的方法   php4 中使用||php5也能用

2.)__construct(){}    //统一使用这个名字  其他使用完全一致   、、php5中使用这个,

php5会现找2,没有2的话再去找 1;

魔术方法:   魔术方法会自动调用

 __construct() //构造          。。初始化对象

__destruct() //析构方法 。。当对象被释放之前最后一个自动调用的函数,关闭一些资源 

__set($proName, $proValue)//直接设置私有属性值得时候自动调用的方法,$object->name = "liubin";   

__get($proName)//直接获取私有属性的时候自动调用的方法   .。$proName是要获取的属性名,    $object->name;  $proName 就是 name;

__ isset($proName)//直接查看isset()对象中私有属性是否存在时自动调用的方法,否则直接在外部isset($object->name)时,会返回false;

__unset($proName)//直接删除unset()对象中私有属性时 自动调用的方法,

__clone()、、//$object1 = $object;  这种是两个引用指向的同一个地址

、、//$object1 = clone $object 这种的是两个值一样的对象

、、//在这个方法中 $this 代表副本的对象,$that 代表原本的对象

__call($functionName,$args)  //在调用对象中不存在的方法时自动调用,在这里处理这种错误;所有参数会作为一个数组放入$args中

__toString()、、//直接输出对象引用是自动调用,用来快速获取对象的字符串表示的最便捷方式

__autoload($className)、、//只要在页面中使用到一个类,就会调用到这个方法,参数为类名(include的时候加载的是文件名)

对象串行化(序列化),讲一个对象转化为二进制串(对象是存在内存中的)

1.)将对象长时间存储在数据库或者文件中的时候

2.)将对象在多个PHP文件中传输的时候

$str = serialize($object); 返回一个串行化的二进制串

$object = unserialize($str);返回来的就是一个新的对象

__sleep()//实在序列化的时候自动调用的方法

只要这个方法中发挥一个数组,数组中有几个成员属性就序列化几个,

__weakup()、、//是在反序列化是自动调用的方法

在反序列化的时候处理数据

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PHP中常用的关键字

final

1.)不能修饰累的属性

2.)自能修饰类和方法

作用:

和java一样

final类不可继承,

final方法不可被重写

static

1.)可以修饰成员属性和成员方法,不能修饰类

2.)static修饰的成员属性可以被所有的类的对象共享

3.)静态数据存放在内存中的数据段中

4.)静态数据是在类第一次被加载时分配到内存中的,以后再用到类时就直接使用

5.)只要在程序中使用到这个类(有这个类名出现即使被使用了),就被加载了

6.)静态方法,不能访问非静态的成员(与解析的过程有关系)

注意:静态的成员 都要使用类名去访问,不用创建对象(一般也不去用对象访问

类名::静态成员

如果在类的内部使用静态成员可以使用 self 代表本类

const

1.)只能修饰成员属性,

2.)类中声明常量属性使用const         用法:const   HOST= “130.182.1.1”;

3.)命名方式和 define是一样的效果

4.)访问方式和静态成员属性是一样的(在类外部:类名::常量;再累内部:self::常量)































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值