首页 » PHP教程 » php对象的表现办法技巧_PHP面向对象常用关键字和魔术方法

php对象的表现办法技巧_PHP面向对象常用关键字和魔术方法

访客 2024-10-31 0

扫一扫用手机浏览

文章目录 [+]

final

php对象的表现办法技巧_PHP面向对象常用关键字和魔术方法

1. final不成润色成员属性(类中常不是用这个关键字)

php对象的表现办法技巧_PHP面向对象常用关键字和魔术方法
(图片来自网络侵删)

2. final只能润色类和方法

浸染:

利用final润色的类 不 能被子类继续

利用final润色的方法不能被子类去覆盖

用来限定类不被继续,方法不被覆盖就利用fianl

static

1. 利用static可以润色成员属性和成员方法,不能润色类

2. 用static润色的成员属性,可以被同一个类的所有工具共享

3. 静态的数据是存在 内存中的 数据段中(初使化静态段)

4. 静态的数据是在类每一次加载时 分配到内存中的, 往后再用到类时就直接从数据段中获取

5. 什么是类被加载? 只要在程序中利用到这个类(有这个类名涌现)

把稳: 静态的成员都要利用类名去访问,不用创建工具, 不用工具去访问

类名::静态成员

如果在类中利用静态成员, 可以利用 self代表本类($this)

6. 静态方法(static润色的方法), 不能访问非静态的成员(在非静态的方法中,可以访问静态成员)

由于非静态的成员, 就必须用工具来访问,访问内部的成员利用的便是$this

静态方法 不用利用工具来调用, 也就没有工具, $this也就不能代表什么工具, 非静态的成员还必须利用工具

如果你确定一个方法不该用非静态的成员, 则可以将这个方法声明为 静态方法(不能创建工具,直策应用类名就可以访问)

静态成员: 类名::成员 , 在类内部访问其它成员 self::成员

const

1. 他只能润色成员属性

define('HOST', 'www.xsphp.com');

final int A=10;

2. 类中声明常量属性利用const

3. 命名的办法和我们以前学习 define是一样的效果

4. 访问办法和static静态成员属性是一样(在类外部利用 类名::常量, 在类内部利用 self::常量)

5. 常量一定要在声明时就给初值

$this self parent ....

PHP中常用的魔术方法

__call()

浸染: 在调用工具中不存在的方法时就会涌现系统报错,然后程序退出。

什么时候自动调用: 就会在调用一个工具中不存的的方法时自动调用

处理一些不存在方法的缺点调用

这个方法须要两个参数

__toString()

直接输出工具引用时自动调用, 用来快速获取工具的字符串表示的最便捷的办法

__clone()

克隆工具利用clone去处理

原来 (原来的工具)

复本 (复制出来的工具)

__clone()便是在克隆工具时自动调用的方法

只要一个工具一出身,就要有初使化的动作, 和布局方法__construct浸染相似

在__clone()方法中的 $this关键字,代表的是复本, $that代表原来工具

__autoload()

把稳: 其它的魔术方法都是在类中添加起浸染, 这是一个唯一一个不在类中添加的方法

只要在页面中利用到一个类,只要用到类名就会自动将类名传给这个参数

工具串行化(序列化): 将一个工具转为二进制串 (工具是存储在内存)

1. 将工具永劫光存储在数据库或文件中时

2. 将工具在多个PHP文件中传输时

serialize() : 参数是一个工具, 返回来的便是串行化后的二进制串

unserialize() : 参数便是工具的二进制串, 返回来的便是新天生的工具

__sleep()

是在序列化时自动调用的方法

浸染:便是可以将一个工具部分串行化

只要这个方法中返回一个数组,数组中有几个成员属性就序列化几个成员属性,如果不加这个方法,则所有成员都被序列化

__wakeup()

是在反序列化时自动调用的方法

也是工具重新出身的一个过程(__construct(), __clone(),__wakeup())

class Person {var $name;protected $age;protected $sex;static $country="中国";const HOST="localhost";function __construct($name, $age, $sex){$this->name=$name;$this->sex=$sex;$this->age=$age;echo "###################<br>";}function getCountry(){return self::$country;}function setCountry($country){self::$country=$country;}function say(){echo "我的名-{$this->name}:,我的年事:{$this->age},我的性别:{$this->sex}.<br>";} function eat(){echo "wwwwwwwwwwwwwwww"; }function __call($methodName, $args){echo "你调用的方法{$methodName}(参数:";print_r($args);echo ")不存在<br>";}static function hello(){echo "{$this->name} @@@@@@@@@@@@@@<br>";}function run(){echo self::HOST;}function __toString(){return "{$this->name}1234567898765432123567898765432";}function __clone(){$this->name="复本 张三";$this->age=0;}function __sleep(){return array("name", "age");}function __wakeup(){$this->name="sanzhang";$this->age=$this->age+1;}function __destruct(){echo $this->name."<br>";} }

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读0 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0