PHP 面向对象 知识点梳理 一

面向过程的编程思想

  • 面向过程是一种编程思想。如:递归思想,冒泡思想,二分查找等
  • 面向过程是以过程(步骤)为中心的编程思想
  • 面向过程是人类解决问题的习惯,就是方法步骤。
  • 将一个大的问题,分析成若干个小问题,然后一个一个的小问题去解决,最终大问题就会解决。
  • 面向过程的优点,执行速度快,不适合大项目
    这里写图片描述

例如 :上传一个产品

  • 前段页面(upload.html),就是上传产品的表单,如:产品的名称,产品的价格,产品图片,产品简介等。
  • 后端页面(upload.php)主要来处理表单发送过来的数据。

判断表单的来源是否合法
获取表单普通提交值
上传产品图片
连接mysql数据库,选择数据库。
将产品数据写入数据库
跳转到产品列表页(list.php)
–连接mysql数据库、选择当前数据库
–读取数据库中产品信息,并用< li> 标记展示出来
–产品数据分页

——————




面向对象的编程思想

  • 面向对象是一种编程思想,面向对象开发,可以开发大型项目,重点在于合作开发。
  • 面向对象是以事物(对象)为中心的编程思想。
  • 换句话说,每一步都是一个对象,用对象帮我们完成工作,分任务。
  • 面向过程着重于 “做什么”,面向对象着重于“谁来做”

    实例:上传一个产品
    前端页面(upload.html),就是上传产品的表单。如:产品名称、产品价格、产品图片、产品简介等。
    后端页页(upload.php):主要用来处理表单发送过来的数据。
    判断表单的来源是否合法。
    获取表单普通提交值。
    上传产品图片(上传图像)。
    连接MySQL数据库、选择数据库(数据库对象)。
    将产品数据写入数据库(数据库对象)。
    跳转到产品列表页(list.php)。
    连接MySQL数据库、选择当前数据库(数据库对象)。
    读取数据库中产品信息,并用
  • 标记展示出来。
    产品数据分页(分页对象)。

类和对象的关系
1. 类的概念
类就是分类、类别、概念、理论、无形的、看不见、摸不着。如:人类、汽车、电脑等。
类是由相同特征(属性、静态的)和行为(方法、动作)的一组对象构成。
类可以看成“图纸”。“楼房”就是对象。
设计一个类,其实是最难的,使用类最简单的。
举例:黑马5期的全体学生,都有相同的属性:学号、姓名、性别、身份证、籍贯等。相同方法:学习。因此,把全部学生归为一个类,这类就是“黑马5期”。
2. 对象的概念

对象就是一个一个的实体,看得见、摸得着。
必须先有类,才有对象。每个对象必须归属于哪个类。
一个类可以产生N个对象。
“汽车模型”就是一个类,由汽车模型生成的一辆辆汽车,就是一个一个的对象。
对象也是属性和方法构成。
例如:“小明”是“黑马5期”的一个学生,也是一个对象。小明的属性有:学号、姓名、性别、身份证、籍贯等。小明也有“方法”“行为”:学习、开车、开飞机等。

在现实中,先有对象,后有类。
在电脑中,先有类,再有对象。

类的定义
1、类的定义语法
这里写图片描述
举个栗子
这里写图片描述

定义类的成员属性

  1. 成员属性介绍
    • 成员属性(特性、特征),就是普通变量。
    • 成员属性和普通变量的区别,成员属性必须要加权限控制符,而普通变量不需要。

2、定义格式

这里写图片描述

3 、 访问修饰符(权限控制符)

  • 权限作用:主要用来保护数据安全的。

  • public(公共权限):在任何地方都可以访问,主要指类内、类外、子类中都可以访问。

  • protected(受保护的权限):只能在本类中、子类中被访问,在类外不能被访问。

  • private(私有的权限):只能在本类中被访问,在类外、子类中都不能被访问。 注意:成员属性必须要加权限控制符,不能省略

4、举例说明

这里写图片描述

定义类的成员方法

1、成员方法介绍
- 什么是“成员”?成员就是对象的意思。因此,成员方法,就是对象方法。成员属性,也是对象属性。既然是对象的东西,必须通过对象才能调用。
- 成员方法,其实与普通函数相似。区别:成员方法是在类中定义的,而普通函数是在类外定义。成员方法要加权限控制符,而普通函数不需要。成员方法也可以调用,也有参数,也有返回值。
- 提示:成员方法的权限不是必须的,可以省略,省略后默认为public。但不建议省略。
2 定义格式
这里写图片描述
3、举例说明
这里写图片描述

创建类的对象

1、实例对象含义
- 类必须要创建对象,只能是对象帮我们来完成工作。
- “对象实例化”:从一个类来创建对象的过程。
- 一个类可以创建N多个对象。类几乎不占用服务器内存,每一个对象都会占用服务器内存。
- 类和对象,都是存在于服务器内存中的,不在客户端。
2、语法格式
在JS中,创建对象的语法:var today = new Date()
在PHP中,创建对象的语法 $obj = new Student()
创建类的对象,是使用new关键字来创建。new关键字创建的对象都是新对象,都是独立对象,都有自己独立的内存地址。
这里写图片描述
3、举例说明
这里写图片描述

对象属性的操作

1、访问对象的属性和方法
在JS中,访问对象的属性和方法,通过”.”来访问。如:arrObj.length、document.write()
在PHP中,访问对象的属性和方法,通过”->”来访问。如:obj>nameobj->showInfo()
提示:必须先有对象,才可能有对象属性。没有对象,一定没有对象属性或方法。
2、对象属性的操作:增加、删除、修改、读取
这里写图片描述
这里写图片描述
对象方法的操作

对方法的操作,就是对普通函数的操作。包括:调用方法、向方法传值、返回值。


注意:方法不能删除,但成员属性可以。


这里写图片描述

伪变量$this使用

1、$this变量含义

  • JS中的this用来代表当前对象的。如:this.src = “images/01.jpg”
  • PHP中的thisthis->name
  • $this用来代表当前对象,不代表类。
  • 当前对象存在,thisthis不存在。
  • $this只能用在成员方法中,其它任何地方都不能使用。
  • $this用来调用对象的内容,包括:成员属性(对象属性)、成员方法(对象方法)。

  • this使使this来代替传递进来的当前对象。
    2、举例说明
    这里写图片描述
    这里写图片描述
    这里写图片描述

定义类的常量
1、类常量介绍
- 使用const关键字来定义类的常量。define()定义的为全局常量。

  • 类常量,就是类的常量,跟对象没有关系。

  • 类常量只占一份内存,不管创建多少个对象。

  • 类常量,主要用来存储一些不变的值,常量不能修改,常量不能删除。

  • 类常量的好处:节省服务器内存空间。

  • const定义的常量是属于类的东西,只能通过类名来调用。如:Student::TITLE

  • 成员属性和成员方法是对象的东西,只能通过对象来调用。如:$obj->name

  • 如何访问类的常量?访问格式为:”Student::TITLE”。其中”::”可以称为静态调用方式。调用类的东西,都要通过”::”来调用。类的东西,都称为”静态东西”。

  • 类常量没有权限控制符。可以在类内或类外都能访问。

  • 常量的名称尽量全大写,与变量区分开。

2、定义格式
这里写图片描述
3、举例说明
这里写图片描述

静态属性和静态方法
1、概述
static关键字修饰的属性就是静态属性;
static关键字修饰的方法就是静态方法;
静态属性和静态方法,是与类相关的,与对象无关。
静态属性和静态方法在内存中只有一份,不会随着对象的增加而增加。
静态属性就是类的属性;静态方法就是类的方法。
成员属性就是对象属性;成员方法就是对象方法。
对象的东西通过”->”来调用;而类的东西通过”::”来调用。
静态属性和静态方法,也有权限控制符。
2、举例说明
这里写图片描述
3、可以指定多个修饰符
静态属性或静态方法,同时可以指定多个修饰符,多个修饰符之间没有先后顺序。
这里写图片描述

4、self关键字
thisselfthis用来调用对象的东西,而self用来调用类的东西。
this>西self::西obj->name、obj>show()self::name、self::show()
$this只能用在成员方法中。self可以在成员方法和静态方法中。
这里写图片描述

构造方法
1、什么是构造方法
当通过new关键字创建对象时,第1个自动调用的方法,就是构造方法。
构造方法的作用:对对象进行初始化。例如:给对象属性赋值、数据库对象初始化。
构造方法的名称是固定的:__construct()
构造方法可以有参数,也可以没有参数,但括号不能省略。
构造方法的参数是如何传递的?当new一个类时,后跟的括号中的参数,就是构造方法的参数。
构造方法中没有return语句,或者return语句无效。
构造方法只能是成员方法。

2、语法格式
这里写图片描述
3、举例说明
这里写图片描述
这里写图片描述
这里写图片描述

posted @ 2018-09-16 01:24  liulonglong  阅读(139)  评论(0编辑  收藏  举报