DAY18

第 一 章 类与对象

1.1 学习技术的套路


1.2 看一个实际的需求

l 使用现有的技术来解决

 

l 使用面向对象的方式来解决

  • 代码来一个快速入门的案例

  • 说明

(1) class 是一个关键字,表示这是一个类,不能修改

(2) public $name , 是一个成员属性, 当我们类定义的{} 中定义的变量,就是一个成员属性

(3) public 是访问修饰符, 他是用于控制成员属性(变量)的访问范围的, 除了public还有两个,protected private ,后面我们会详细介绍

(4) $cat1 = new Cat , 这个叫实例化一个对象, $cat1 就是一个对象, new 是一个关键字,表示新创建一个对象

(5) $cat1->name = '小白'; 表示给成员属性赋值,-> 符号叫做对象运算符

(6) 当我们需要看一个对象的情况时,我们可以通过 var_dump 来输出该对象


 

1.3 php支持面向对象

职业规划:

PHP + 前端技术 ===> 全栈工程师

架构师

python(对项目架构和运维[负载,读写分离,优化等等 ,大流量,大并发,大数据]) + linux(centos/ubuntu) + unix(freebsd, solars) + 算法

cto => 首先技术官

ceo => 首先执行官

 


 1.4 类与对象的关系

l 介绍

在面向对象编程中,最重要的概念就是 和对象,因此我们必须将他们的关系和区别搞清楚

举例说明:

 

说明: 从上面的代码我们可以看出

(1) 一个类可以创建多个对象

(2) 不同的对象的标识符#编码,是不一样的,有系统在创建对象时分配的标识符,按编号的顺序分配


1.5 如果理解类与对象

 


1.6 类的定义

class  类名{

  访问修饰符 成员属性1;

     访问修饰符 成员属性2;

//.....

}


1.7 成员属性

l 文档说明

  类的变量成员叫做属性,或者叫字段特征,在本文档统一称为属性。属性声明是由关键字 publicprotected 或者 private 开头,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP

  

本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

  l 通俗说明:

 成员属性是类的一个组成部分,一般是基本数据类型(整数,字符串等),

 也可是复合类型(对象、数组) 资源类型。比如我们前面定义猫类的

 public $age 就是成员属性。

  l 代码举例说明


1.8 创建对象的说明

 

说明

(1) 在使用默认构造方法时,创建对象的

  $对象名  =  new 类名()

  $对象名  =  new 类名

  等价

  举例

 

(2) 如何访问成员属性

 

(3) 类名的规范说明

类名不区分大小写.

类名命名规范

关于函数,变量,常量,接口等等的命名规范,请参考手册.


1.9 对象传递方式(重点, 难点)

l 先请大家看一段代码,从而引起思考

 

注意当 对象传递方式是 $p1 = $p2 , 分析如上图

注意当 对象传递方式是 $p1 = &$p2 , 分析如上图


 1.10 成员方法(函数)

l 看一个需求

  当我们需要让对象完成某个任务(比如计算,比如上传下载文件,分页等等), 就需要在类中定义函数, 这时我们就将这样的函数称为 成员方法.

 

  代码走:

 

原理分析图如下:

 

l 成员方法的基本语法

  class  类名{

      成员属性;

  访问修饰符  function  成员方法1(形参){

        方法体;

      return 语句;//[是有程序员自己决定的,]

  }

  访问修饰符  function  成员方法1(形参){

        方法体;

    return 语句;//

  }

}

说明

(1) 成员方法定义在类中.

(2) 成员方法前面可以有访问修饰符,如果你不写,默认为public

(3) 成员方法的运行原理和普通的函数是一样的.

 

l 成员方法的小结

 

l 类定义的进一步完善


第二章 构造方法(函数)

2.1 一个需求,引出构造函数

   什么是构造函数呢?在回答这个问题之前,我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就指定这个对象的年龄和姓名,该怎么做? 

2.2 构造函数的基本介绍

 l 基本语法

  class  类名{

  //构造函数

  访问修饰符 function  __construct(形参列表){

  //可以对成员属性进行初始化.

    }

  }

 说明

(1) 构造函数的访问修饰符可以是 public , protected, private , 一般情况下是public ,默认就是public

(2) __construct 是关键字,不能修改, __ 是两个_ 下划线。

(3) 构造函数没有返回值, 即没有return

(4) 构造函数是系统调用的,程序员不能显示调用

2.3 快速入门案例

走代码:(基本的使用案例).构造函数并不起到创建对象的本身,只是去完成初始化,当创建的时候,已经被创建了的。

 

 

2.4 构造函数的细节和注意事项

构造函数没有返回值,即没有return, 就算写了也没有用处

在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的

初始化

构造函数的作用是完成对成员属性的初始化任务,而不是创建对象本身. 所以以后在oop编程中,需要对成员属性进行初始化,则将这段代码放在构造函数中即可

在一个类中,构造函数有且只能有一个, 如果定义多个,就会报错.

 

php4中,可以使用 类名作为构造函数,在php5中也支持

 

构造函数:就是完成对属性的初始化!

读写分离:mysql的时候,将读的操作和写的操作分开处理。在项目开发中,我们要注意几个地方:1、如果数据量过大,光靠数据分离是不管用的,还要用分表、分区进行辅助,有时候还会用到缓存。

 

2.5 默认构造函数

 

原文地址:https://www.cnblogs.com/qianjilou/p/6371382.html