类
类是用来激活一个对象的一段定义或代码模板。你能阅读和修改这段代码,但当它被执行的时候会作为一个对象存在。在实际代码中,类每次使用时都是产生一个实体的副本。
对象
一个对象就是类被复制并激活的形态。“实例”指的就是一个对象在内存中具有唯一命名的副本。在PHP中,将类实例化成一个对象,需要用到new这个关键字。
方法
方法实际就是写在类定义段的函数。在PHP中,方法指的就是用function来实现的一个写在类中的函数定义。
属性
属性就是指类定义段里面的变量。
多态
在面向对象编程中允许两个独立的类有共同的接口名称,如方法和属性,而不用通过其他方式实现,所以,就算两个类中都有叫print的方法,PHP也不会对此形成困扰,主要是因为对象名称是唯一的。
封装
封装的唯一目的就是为了管理类的内部属性而允许外接通过使用类的特定方法去影响一个类内部的受保护数据(即属性)。
继承
面向对象编程允许类从已知的基类(也叫父类)复制或继承。如果你有一个类叫person,还定义了一些方法和属性,你想创建另外一个类,术语person,但是叫Lemberjack,你可以使用person类的所有属性,比如身高、姓名、眼睛的颜色,这些属性又可以扩展到Lumberjack,从而节省了时间,提高了效率。
PHP中有两个函数称为魔术方法。它们会自动执行,是一种预先定义的方法。作为类的构造函数的魔术方法不允许有返回值。
1. __construct,会在每次实例化时触发。
2. __destruct,会在每次对象从内存中移除或脚本结束时调用。
变量$this
$this是定义对象中内部保留的变量。它不需要提前定义,当类被实例化位一个对象时,它便存在了。它通过"$this->对象名"的方法来引用内部可见的类的相关属性。
公开的、保护的和私有的
公开的实体可以在所有作用域中使用和访问;
保护的实体仅允许被类自己和父类或其子类访问;
而私有的实体只能被类自己访问。
封装,是一个类内部实体免受外部影响的概念,当然私有作用域属性最能达成这个目的。基本上设置限制访问作用域是免受外部改变最好的做法,尤其是你在编写将被很多不同项目使用的类库,或者是制作商业可用版本类库的时候。
保护的(protected)作用域很少用到,除非你想从一系列层级的对象树(即有继承关系的类)中获益。如果没有定义作用域标识,则默认是公开的(public),需要外部访问的接口方法,最好都设定为公开的。一个类最好的向外部共享信息的方法是将属性设为私有,并设置公开get和set方法。
get和set访问器
这个概念允许在类本身范围内实现更多被保护的接口。每个类的属性都有各自对应的get和set方法,并且只能通过这些访问其方法来影响每个属性。
类是用来激活一个对象的一段定义或代码模板。你能阅读和修改这段代码,但当它被执行的时候会作为一个对象存在。在实际代码中,类每次使用时都是产生一个实体的副本。
对象
一个对象就是类被复制并激活的形态。“实例”指的就是一个对象在内存中具有唯一命名的副本。在PHP中,将类实例化成一个对象,需要用到new这个关键字。
方法
方法实际就是写在类定义段的函数。在PHP中,方法指的就是用function来实现的一个写在类中的函数定义。
属性
属性就是指类定义段里面的变量。
多态
在面向对象编程中允许两个独立的类有共同的接口名称,如方法和属性,而不用通过其他方式实现,所以,就算两个类中都有叫print的方法,PHP也不会对此形成困扰,主要是因为对象名称是唯一的。
封装
封装的唯一目的就是为了管理类的内部属性而允许外接通过使用类的特定方法去影响一个类内部的受保护数据(即属性)。
继承
面向对象编程允许类从已知的基类(也叫父类)复制或继承。如果你有一个类叫person,还定义了一些方法和属性,你想创建另外一个类,术语person,但是叫Lemberjack,你可以使用person类的所有属性,比如身高、姓名、眼睛的颜色,这些属性又可以扩展到Lumberjack,从而节省了时间,提高了效率。
PHP中有两个函数称为魔术方法。它们会自动执行,是一种预先定义的方法。作为类的构造函数的魔术方法不允许有返回值。
1. __construct,会在每次实例化时触发。
2. __destruct,会在每次对象从内存中移除或脚本结束时调用。
变量$this
$this是定义对象中内部保留的变量。它不需要提前定义,当类被实例化位一个对象时,它便存在了。它通过"$this->对象名"的方法来引用内部可见的类的相关属性。
公开的、保护的和私有的
公开的实体可以在所有作用域中使用和访问;
保护的实体仅允许被类自己和父类或其子类访问;
而私有的实体只能被类自己访问。
封装,是一个类内部实体免受外部影响的概念,当然私有作用域属性最能达成这个目的。基本上设置限制访问作用域是免受外部改变最好的做法,尤其是你在编写将被很多不同项目使用的类库,或者是制作商业可用版本类库的时候。
保护的(protected)作用域很少用到,除非你想从一系列层级的对象树(即有继承关系的类)中获益。如果没有定义作用域标识,则默认是公开的(public),需要外部访问的接口方法,最好都设定为公开的。一个类最好的向外部共享信息的方法是将属性设为私有,并设置公开get和set方法。
get和set访问器
这个概念允许在类本身范围内实现更多被保护的接口。每个类的属性都有各自对应的get和set方法,并且只能通过这些访问其方法来影响每个属性。