PHP简述三大特性及重载、自动加载、克隆、对象遍历

三大特性

封装:把私有属性提供一个公共的访问方法,其特点是安全性高。

继承:子类继承父类的属性及方法,如果子类没有自己的扩展,则没有继承的必要。

多态:在一个类中,不同的对象调用相同的方法,由于对这个方法的重新得到的结果不一样就是多态

  重载基本语法

属性重载:

  含义:如果使用一个不存在的属性,就会自动调用类中预先定义好的某个方法以处理数据

  

方法重载:如果使用一个不存在的方法,就会自动调用类中预先定义好的某个方法以处理数据

类的自动加载

含义:在需要一个类的时候,自动获取类名,并引入文件

两种办法:

  1.使用 _ _autoload 魔术函数

2.使用spl _autoload_register 函数,可以定义多个类的链接 

克隆

关键字:clone

含义:克隆分为浅克隆和深克隆,他们的区别在于浅克隆不能克隆对象,如果使用深克隆要用到_clone魔术方法,默认是浅克隆

  浅克隆:浅克隆是指在运行克隆函数的时候,克隆的不完全,在克隆时如果被克隆类有对象中储存的是"对象"类型的话,就会形成浅克隆,并不是一个独立的个体。

b2的两个值相同,因为b2中的值是一个对象,所有就会成为浅克隆

  深克隆:手动用魔术方法将一个对象的所有属性数据彻底复制(就是补充浅克隆复制不了的数据)

对象遍历

对象的变量通过foreach来遍历:

  外部遍历:在类外面遍历,只能遍历公共的属性:修饰符为 public 的属性

 

 内部遍历:在类里面遍历,可以遍历所有属性(public,protected,pricate)

  

在类里面加一个方法,在方法里面foreach遍历,这样就可以循环到所有的属性

 局部遍历:只遍历自己想要的值

给方法追加一个形参,带表上面的所有属性,在遍历里面加判断,判断数组里面是否有值

原文地址:https://www.cnblogs.com/cp123/p/9152305.html