类的成员
属性 保存数据
方法
用来处理数据(保存的执行代码) 在类中通常使用$this 代表实例化对象,不能直接echo属性
常量 保存数据
定义属性的时候一定要设置权限
类常量的定义
Const 常量名 = 常量值 const PATH = ‘e://wamp/www’;
访问常量: 类名::常量名 echo student::PATH
::范围解析操作符 用于访问静态属性,方法和常量
类的成员的访问控制
要求
尽量提高类对成员的控制,能使用私有的尽量使用私有的
类对成员的控制是通过添加关键字public protected private来实现的
Public 在任何地方都可以访问(包括在类的内部和外部)
Private 私有的,只能在类的内部访问
Protected 受保护的,只能在当前类和他的子类或父类中访问(继承的时候使用)
魔术方法:属于类的
常用的魔术方法:
__construct()构造函数-------------拥有构造方法的类,会在实例化对象的时候,先调用这个方法,适合于在实例化对象之前做一些初始化操作 如果实例化一个类的对象的时候,传递了参数,意味着向这个构造函数里面传递参数
__destruct()析构函数--------------对象注销的时候自动调用析构函数,通常在对象注销的时候释放数据库连接
__autoload()-------------------当我们实例化一个类,但是没有找到这个类的定义,会自动调用__autoload()这个魔术方法,在出错之前还有一次机会加载这个类, 在调用这个魔术方法的时候,会自动的将需要的类名以参数的形式传递到函数中去,
__tostring() --------------当我们echo对象的时候,会报错,这时候__autoload()提供了一个契机
Clone克隆
对象之间的赋值:是 引用传递 获得的是同一个对象
Php获得对象有2种方法:
1.通过类实例化一个对象
2.通过克隆 获得的是不同的对象
面向对象的3大特性
封装性:将自然界存在的自然实体,采用计算机面向对象的语言描述出来
继承性:有必要将相同的代码提取出来,是需要谁就加载过来
多态性: php是弱类型的语言,多态性体现的不是很明显
出现的错误:
Notice :提示级别的错误。不影响代码的执行,如果项目上线了,提示错误可以屏蔽 Error reporting
Warning :警告级别
Fatal error 致命错误
静态属性
在面向对象的编程中,我们可以通过对象($this)来访问类的属性,还可以通过类来访问他的属性和方法 常量 前提是属性和方法需要是静态的‘
如果定义类的成员是静态的,通过在成员前面增加关键字 static
静态的属性是类的,不能通过对象来访问
在类中,我们可以通过类来访问静态属性也可以通过关键字self代替当前的类名
静态属性可以在静态方法中访问到也可以在非静态方法中访问到