三大特性
封装:把私有属性提供一个公共的访问方法,其特点是安全性高。
继承:子类继承父类的属性及方法,如果子类没有自己的扩展,则没有继承的必要。
多态:在一个类中,不同的对象调用相同的方法,由于对这个方法的重新得到的结果不一样就是多态
重载基本语法
属性重载:
含义:如果使用一个不存在的属性,就会自动调用类中预先定义好的某个方法以处理数据
方法重载:如果使用一个不存在的方法,就会自动调用类中预先定义好的某个方法以处理数据
类的自动加载
含义:在需要一个类的时候,自动获取类名,并引入文件
两种办法:
1.使用 _ _autoload 魔术函数
2.使用spl _autoload_register 函数,可以定义多个类的链接
克隆
关键字:clone
含义:克隆分为浅克隆和深克隆,他们的区别在于浅克隆不能克隆对象,如果使用深克隆要用到_clone魔术方法,默认是浅克隆
浅克隆:浅克隆是指在运行克隆函数的时候,克隆的不完全,在克隆时如果被克隆类有对象中储存的是"对象"类型的话,就会形成浅克隆,并不是一个独立的个体。
b2的两个值相同,因为b2中的值是一个对象,所有就会成为浅克隆
深克隆:手动用魔术方法将一个对象的所有属性数据彻底复制(就是补充浅克隆复制不了的数据)
对象遍历
对象的变量通过foreach来遍历:
外部遍历:在类外面遍历,只能遍历公共的属性:修饰符为 public 的属性
内部遍历:在类里面遍历,可以遍历所有属性(public,protected,pricate)
在类里面加一个方法,在方法里面foreach遍历,这样就可以循环到所有的属性
局部遍历:只遍历自己想要的值
给方法追加一个形参,带表上面的所有属性,在遍历里面加判断,判断数组里面是否有值