本文主要对PHP面向对象编程进行介绍,并分析了PHP面向对象编程的基本概念和原理,以及类定义、对象实例化、构造方法等简单的使用技巧,需要的朋友可以参考一下。
本文通过实例讲述了PHP面向对象编程,分享给大家,供大家参考,如下:
1. 面向对象与面向过程
面向过程:以事件为中心,分几步完成。不可扩展,HTML和PHP没有分离
面向对象:你是指挥官,你指挥别人做事。可扩展,HTML 和 PHP 代码分离。
2.什么是对象?
对象:自然界中存在的任何可见的东西(这个不太准确),[在代码中表示为]执行代码的效果
3.什么是面向对象?
OOP(面向对象编程)是-的缩写,具有灵活性和可维护性,可以为程序员打开一扇大门
软件工程的三个目标:1.可重用性 2.灵活性 3.可扩展性
面向对象编程的特点: ①封装 ②继承 ③多态
4.什么是类?
具有属性和方法的对象的抽象描述
5. 类定义
定义角度:
静态描述:我们熟悉的变量
动态描述(对象函数):将动态描述写成函数。对象中声明的函数称为方法。
所有的类都是从属性和方法两个方面进行声明的。属性和方法是类的成员。属性又称为对象的成员属性,方法又称为对象的成员方法。
成员属性:直接在类中声明的变量。您可以使用 PHP 的标量类型和复合类型,因此它们也可以是从其他类实例化的对象。在类中使用资源和空类型是没有意义的。
成员属性的初始值一般是不赋值的,大多数情况下都是在对象实例化之后,才给对应的成员属性赋初始值。
成员方法:在对象中声明的函数称为方法。
前面所说的成员属性和成员方法,与过程中声明的变量、函数相同,只是多了关键字。
class Classname{
//成员属性
public $name;
public $age;
//成员方法
public function __construct($name,$age){
//方法体
$this->name=$name;
$this->age=$age;
}
public function method(){
//方法体
//return 返回值
}
6.类和对象的关系
类的一个实例就是一个对象。
//实例化
$mod = new Classname();
“$变量名”是类创建的用于访问对象中的成员的引用名称。
“new” 表示创建一个新对象
“类名”表示新对象的类型
“参数”指定类构造函数用来初始化对象的值
如果类中没有定义构造函数,PHP 将自动创建一个没有参数的默认构造函数。
一个类可以实例化多个对象,各个对象之间相互独立,互不影响,属性和方法不共享(如一张玻璃设计图,按照这张图可以做出上千块玻璃,但是当一块玻璃碎了,其他的玻璃并不会碎),即它们属于同一个玻璃类。
7. 访问对象中的成员
访问对象中的成员有两种方式:成员属性和成员方法。
对于成员属性的操作有两种:1.赋值操作 2.获取成员属性值操作
$引用名 new 类名称([参数列表]); //对象实例化
$引用名->成员属性=值; //给成员属性赋值
echo $引用名->成员属性; //获取成员属性的值
$引用名->成员方法; //访问成员方法
如果对象的成员不是静态的,则访问形式只有“对象引用名->属性”(不带$符号),和“对象引用名->方法名()”。
8. 特殊对象引用“$this”
我们可以在对象外部实例化对象,使用对象引用来访问对象成员。但是当我们想访问对象内部的对象成员时该怎么办呢?是否应该在内部实例化呢?答案是否定的。这里我们需要引入一个特殊的对象引用“$this”。
this 代表对象,若要在对象内部的成员方法中访问成员,则使用 this 代表对象,若要在对象内部的成员方法中访问成员,则使用 this-> 和 $this->,只能在成员方法中使用
9.构造函数和析构函数(魔术方法)
施工方法:
①如果在声明类的时候没有显式声明,那么类中会有一个没有参数列表,内容为空的默认构造函数,如果显式声明,则不存在默认构造函数。
②在对象实例化时会自动调用一次,即每使用new关键字实例化一个对象就会调用一次。构造函数不能通过对象引用主动调用。
③通常用于给成员属性分配初始值。
④ PHP5之前的版本方法名和类名必须一致
⑤同一个类只能有一个构造函数
public function __construct(){
//主体
}
析构函数方法:
①允许在小会儿对象之前执行一些特定的操作(关闭文件、释放结果集)
②无参数
当堆内存中的对象失去访问引用时,则认为是垃圾对象,被回收。在垃圾回收器回收该对象前,会调用析构函数方法。
public function __destruct(){
//方法体
}
扫一扫在手机端查看
-
Tags : 面向对象php_php面向对象程序设计入门教程
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。