面向对象的三大特性
- 封装性:将敏感的数据保护起来不被外界访问(将一个功能的方方面面封装成一个整体,即类)。
- 继承性:为了实现功能的升级(原来有的功能在子类进行完善)和扩展(原本没有的功能在子类进行增加)。
- 多态性:允许不同类的对象对同一消息作出不同的响应(方法重写)。
权限修饰符
- ublic(公共):在任何地方都可以访问,主要包括类外、本类和子类
- private(私有):只能在本类中被访问,在类外和子类中都无权访问
- protected(受保护的):只能在本类和子类中被访问,类外不能访问
在类内调用对象用$this->属性名(方法) 调用类用self::$属性名(方法)
构造方法数据对象初始化,析构方法相当于“垃圾回收站”,在对象销毁前执行该方法
静态属性和静态方法:
1.它们属于类,对象不能调用它。
2.在属性和方法前写上static
3.它们可以保存数据‘
单例模式(三私一公):
1.私有的属性
2.私有的克隆方法
3.私有的构造方法
4.公共的静态方法(用于创建对象)
单例模式的优点:无论使用多少次,只能创建出一个对象。(节省内存空间)
对象之间的赋值:
对象之间的赋值属于引用传递,当其中一个对象的内容方法变化后,另一个对象的内容也会发生变化,而普通变量属于值传递,
只是单纯的赋值,其中一个发生变化,另一个不会有变化。如果普通变量也想实现引用传递,必须使用&,如:
$name1=&$name2;
这样就实现引用传递了。
命名空间:
通过关键字namespace来声明,如果在另一个文件中使用。
比如:namespace object
class stu{}
use object\stu as studnet
自动加载
set_autoload_register():当使用未定义的类时,使用此函数
此函数的参数为函数,函数里面的大致内容为: