PHP 知识量:7 - 20 - 67
类person的示例如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <?php class person { private $name; private $age = 30; private $sex = 'male'; //构造函数 function __construct($setname) { $this->name = $setname; } //10年后年龄计算 function after10yesrs() { $this->age += 10; } //显示当前年龄 function age() { echo "$this->age"; } } //实例化类person $bob = new person('bob'); //打印年龄 $bob->age(); echo "<br>After 10 years:<br>"; //计算10年后年龄 $bob->after10yesrs(); //打印年龄 $bob->age(); ?> </body> </html>
1、类person定义的基本内容如下:
类定义通过关键字class开始,后面的“person”为类的名称,大括号内为类的定义范围。
三个变量$name、$age、$sex为类的属性,前面的“private”表示属性是私有的(外部不可直接访问),属性可以进行初始化,也可以不赋值。
构造函数是__construct(),它的名称是固定的,construct前面有两个“_”。每次类被实例化时,就会调用一次构造函数,即函数内的代码会被执行一次。构造函数可以接受参数,类person的构造函数将参数$setname的值赋值给了属性$name。
变量$this是php的保留关键字,当类被实例化后,它指向对象本身。可以使用$this引用对象的属性或函数,例如 $this->name。
after10yesrs()是类person的普通函数,用于实现属性$age的加10操作。类中函数的定义是通过关键字function开始的,后跟函数名和大括号,大括号内就是函数的函数体。
2、要想使用定义好的类person,就需要实例化一个对象副本,在以上代码中:
通过new关键字实例化类person,实际上是调用了类person的构造函数__construct(),并对其传递了参数值“bob”,实例化的对象赋值给了变量$bob。
通过“->”的方式调用对象的函数或属性,$bob->age() 的意思就是调用对象的age()函数,打印对象属性$age的当前值“30”。
$bob->after10yesrs()的意思是调用对象的after10yesrs()函数,调用后,对象的属性$age值加10变为“40”。
通过$bob->age()再次的调用,打印对象属性$age的当前值,因为已经加10,所以当前值打印为“40”。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6