1 面向过程&面向对象 |
一、专一于解决一个问题的过程。面向过程的最大特色,是由一个一个的函数去解决处理这个问题的一系列过程。
二、专一于由那个对象来处理一个问题。面向对象的最大特色,是有一个个具备属性和功能的类,从类中拿到对象,进而处理问题。php
2 面向对象 |
一、什么是类?
具备相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念
二、什么事对象?
从类中,拿到的具备具体属性值的个体,称为对象。对象是一个具体的个体
三、类与对象的关系?
类是对象的抽象化!对象是类的具体化!
类仅仅代表这类对象有哪些属性,可是不能具备具体的值,因此类是抽象的
而对象,是将类的全部属性赋值后,产生的具体个体,全部对象是具体的函数
3 类的声明与实例化 |
一、如何声明一个类:
class 类名{
访问修饰符 $属性[=默认值];
[访问修饰符 ]function 方法(){}
}
二、声明一个类的注意事项:
①类名以内有数字字母下划线组成,开头不能使数字,必须符合大驼峰法则
②类名必须使用class修饰,类名后面必定不能有();
③属性必需要带访问修饰符,方法能够不带访问修饰符;
三、实例化对象及对象属性方法的调用?
$对象名 = new 类名(); //()能够不加
类外部调用属性和方法
$对象名 -> 属性名; //使用->调用属性时,属性名不能带$
类内部调用属性和方法
$this -> 属性名;this
4 构造函数 |
一、什么是构造函数?
构造函数是类中的一个特殊函数,当咱们使用new关键字实例化对象时,至关于调用了类的构造函数;
二、构造函数有什么做用?
实例化对象时,自动调用,用于给对象的属性赋初值!
三、构造函数的写法?
①构造函数名,必须与类同名
[public ]function Person($name){
$this -> name = $name;
}
②使用魔术方法__construct
[public ]function __construct($name){
$this -> name = $name;
}
四、构造函数注意事项:
①第一种写法,构造函数名必须与类同名!!!
②若是一个类没有手写构造函数,则系统默认会有一个空参数构造,所以可使用new Person();
若是咱们写了带参数的构造函数,则将不会再有空参构造,也就是不能直接使用new Person(); Person后面的()中的参数列表,必须符合
构造函数的要求!!
③若是两种结构函数同时存在,将使用__construct。
五、析构函数:__destruct():
①析构函数在对象被销毁释放以前自动调用!
②析构函数不能带有参数
③析构函数经常使用于对象使用完之后,释放资源、关闭资源等
六、魔术方法:
PHP中,给咱们提供了一系列的__开头的函数,这些函数无需本身手动调用,会在合适的时机自动调用,这类函数称为魔术函数。
例如:function __construct(){} 在类new一个对象时自动使用
function __destruct(){} 在对象被销毁时自动调用
咱们要求除了魔术方法外,自定义的函数与方法不能使用__开头
最后,通常对于功能比较复杂的类,咱们会单独的写到一个类的文件中。
类文件的命名,统一小写,使用“类名(小写).class.php”的方式命名。
在其余文件中使用这个类 时,能够用include导入这个.class.php文件。
spa