PHP中的对象和类:
面向对象的程序设计(Object-oriented Programming)是一种程序设计的范式,同时也是一种程序的开发方法。它将对象作为程序的基本方法,将程序和数据封装其中,以提高软件的可用性,灵活性和可拓展性。
编程语言的三大范式:命令式编程(面向过程,面向对象)
函数式编程
面向对象的核心思想:对象、封装、可重用性、可扩展性!
1.类是对象的抽象组织,对象是类的具体存在!
类:类其实就是我们对一组对象的描述,包含属性和方法的一个模板,对象将属性具体化,然后交给类处理。一个类的设计需要充分展示其最重要的属性和方法,并能与其他事物区分,正是由于属性的不同,才能区分不同的对象,只有类的本身是有意义的,从抽象到具体才会有意义。类和对象的关系类是于服务与被服务,加工与被加工的关系。
对象:对象就是一堆数据,如果把对象储存起来,以便需要时使用,就是对象的序列化(serialize (obj)和 unserialize(str))。
类是属性和方法的集合,而对象是属性的集合,同一个类可以有不同的对象,对象拥有不同的属性,但是共享了类的代码空间中方法区域的代码。
除了特殊的情况(如强制转换),一般一个对象就会有一个类和其对应。
魔术方法:
__set 和 __get 方法, 上面这两个方法是为了访问和设置私有属性不出错的,如果不设置这两个方法,那么访问私有属性绝壁会报错了,设置私有属性值的时候调用的是__set()方法,获取私有属性值的时候调用的是__get()方法;
__construct 构造方法,具有构造方法的类会在每次创建对象时先调用此方法,所以非常适合在对象之前做一些初始化工作,如给属性赋值、连接数据库等;
__destruct 析构方法,析构方法会在某个对象的所有引用都被删除;
__call 和 __callStatic方法 这两方法是防止调用不存在的方法而出错,和上面那俩有点类似呢