在学习类与对象之前,我们需要先了解一下面向对象的概念:《五分钟理解什么是面向对象》。 我们之前所有接触的都是面向过程的编程方式(函数式编程),而当我们学了类与对象之后就可以实现面向对象编程了。 什么是对象?
对象由属性和方法组成,大象就是属性,把大象装进冰箱的动作我们称之为方法。我们暂可以理解为变量就是属性,函数就是方法。 什么是类? 类是一个抽象的概念。 类是抽象的,对象是具体的,比如:你娶了个老婆叫lizzy,老婆是类,lizzy是对象。因为老婆是一类人,而lizzy是具体的某一个。 (对于没有接触过的童鞋可能暂还是无法理解,那就先暂跳过,等完全了解下面的内容后自然就明白了)。 本期要点:
基础语法 ①定义类 每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号(里面包含有类的属性与方法的定义)。 <?php class name{} ?> ②根据类得到一个对象: <?php class name{} $name = new name(); var_dump( $name ); ?>
我们可以看到浏览器输出的是 object ,也就是变量 $name 的值是一个对象。 ③定义类属性: <?php class name{ public $s1 = 0; public $s2 = 1; } $name = new name(); ?> 上面我们简单提过:变量就是属性,函数就是方法。 ④定义类方法: <?php class name{ public $s1 = 0; public $s2 = 1; public function s1(){ echo 's1'; } public function s2(){ echo 's2'; } } $name = new name(); ?>
操作对象 ⑤调用对象属性: <?php class name{ public $s1 = 0; public $s2 = 1; public function s1(){ echo 's1'; } public function s2(){ echo 's2'; } } $name = new name(); echo $name -> s1; ?>
⑥调用对象方法: <?php class name{ public $s1 = 0; public $s2 = 1; public function s1(){ echo 's1'; } public function s2(){ echo 's2'; } } $name = new name(); echo $name -> s1; echo $name -> s1(); ?> 在这里我们可以联想一下变量的定义与调用及函数的定义与调用: 这样我们就会比较容易理解类与对象的定义与调用了〜 伪变量( $this ) 之前我们所讲的是通过对象(类的外部)去调用对象的属性和方法。 那么,如果我们要在类的内部调用属性和方法应该怎么办? <?php class name{ public $s1 = 0; public $s2 = 1; public function s1(){ $s1 = new name(); //在类里面实例化自己 $s1->s2(); //假设,我们需要调用s2的方法 } public function s2(){ echo 's2'; } } $name = new name(); $name -> s1(); //执行调用$name的s1 ?> 我们可以看到浏览器输出的结果是没有问题的:
其实我们可以更简单一点: 我们想要调用一个类属性或者类方法首先必须得到它的对象。 但是,如果是在类的内部我们还有另外一种方法可以简化,不需要去实例化,直接去使用 $this <?php class name{ public $s1 = 0; public $s2 = 1; public function s1(){ $this->s2(); //直接使用$this } public function s2(){ echo 's2'; } } $name = new name(); $name -> s1(); //执行调用$name的s1 ?> 你可以发现最终浏览器输出的结果是一样的。
更多分享 0 基础教程丨PHP 网站开发 效率工具 小众电影 0 基础教程丨小程序开发 |
|