php常用关键,7.7.1 PHP常见的关键字

7.7.1 PHP常见的关键字

instanceof关键字

final关键字的应用

static关键字的使用

const关键字

instanceof关键字

“instanceof”操作符用于检测当前对象实例是否属于某一个类的类型。

class Person{ ... ... }

class Student extends Person{ ... ... }

$p=new Person();

$s=new Student();

echo $p instanceof Student; //结果为false

echo $s instanceof Student ; //结果为true

echo $s instanceof Person; //结果为true

final关键字的应用

在PHP5中新增加了final关键字,它只能用来修饰类和方法,不能使用final这个关键字来修饰成员属性,因为final是常量的意思,我们在PHP里定义常量使用的是define()函数和const关键字,所以不能使用final来定义成员属性。

final的特性:

使用final关键字标识的类不能被继承;

使用final关键字标识的方法不能被子类覆盖(重写),是最终版本;

目的:一是为了安全,二是没有必要

1.php

/*

*

*/

class Person {

public $name;

protected $age;

protected $sex;

function __construct($name, $age, $sex) {

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

}

public function say() {

echo "我的名子是:{$this->name},我的年龄是:{$this->age},我的性别是:{$this->sex}。
";

}

function eat() {

echo "11111111111111
";

}

function run() {

}

}

class Student extends Person{

var $school;

function __construct($name, $age, $sex, $school) {

parent::__construct($name, $age, $sex);

$this->school = $school;

}

function study() {

}

function say() {

parent::say();

echo "我所在的学校:{$this->school}
";

}

}

class Hello {

}

$p = new Person("高洛峰", 30, "男");

$s = new Student("妹子", 20, "女", "兄弟连");

if($s instanceof Person) {

echo "这个\$s是Person类的对象";

} else {

echo "对象不属于这个类";

}

// $s = new Student("妹子", 20, "女", "兄弟连");

// $s -> say();

2.php

/*

*

*/

final class Person {

public $name;

protected $age;

protected $sex;

function __construct($name, $age, $sex) {

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

}

public function say() {

echo "我的名子是:{$this->name},我的年龄是:{$this->age},我的性别是:{$this->sex}。
";

}

function eat() {

echo "11111111111111
";

}

function run() {

}

}

class Student extends Person{

var $school;

function __construct($name, $age, $sex, $school) {

parent::__construct($name, $age, $sex);

$this->school = $school;

}

function study() {

}

function say() {

parent::say();

echo "我所在的学校:{$this->school}
";

}

}

/*

*

* 在PHP中final不定义常量, 所以就不会使用,也不能使用final来修饰成员属性

*

*

* 1. final可以修饰类 --- 这个类不能去扩展, 不能有子类 (不让别人去扩展, 这个类是最终的类时)

*

* 2. final可以修饰方法

*

*/

$s = new Student("妹子", 20, "女", "兄弟连");

$s -> say();

3.php

/*

*

*/

class Person {

public $name;

protected $age;

protected $sex;

function __construct($name, $age, $sex) {

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

}

public final function say() {

echo "我的名子是:{$this->name},我的年龄是:{$this->age},我的性别是:{$this->sex}。
";

}

function eat() {

echo "11111111111111
";

}

function run() {

}

}

class Student extends Person{

var $school;

function __construct($name, $age, $sex, $school) {

parent::__construct($name, $age, $sex);

$this->school = $school;

}

function study() {

}

function say() {

parent::say();

echo "我所在的学校:{$this->school}
";

}

}

/*

*

* 在PHP中final不定义常量, 所以就不会使用,也不能使用final来修饰成员属性

*

*

* 1. final可以修饰类 --- 这个类不能去扩展, 不能有子类 (不让别人去扩展, 这个类是最终的类时)

*

* 2. final可以修饰方法 --- 这个方法,就不能在子类中覆盖(不让子类去改这个方法, 或扩展这个方法的功能时, 这个方法也就时最终的方法)

*

*/

$s = new Student("妹子", 20, "女", "兄弟连");

$s -> say();

test.php

/*

*

*/

class Person {

public $name;

protected $age;

protected $sex;

function __construct($name, $age, $sex) {

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

}

public function say() {

echo "我的名子是:{$this->name},我的年龄是:{$this->age},我的性别是:{$this->sex}。
";

}

function eat() {

echo "11111111111111
";

}

function run() {

}

}

class Student extends Person{

var $school;

function __construct($name, $age, $sex, $school) {

parent::__construct($name, $age, $sex);

$this->school = $school;

}

function study() {

}

function say() {

parent::say();

echo "我所在的学校:{$this->school}
";

}

}

/*

*

* 在PHP中final不定义常量, 所以就不会使用,也不能使用final来修饰成员属性

*

*

* 1. final可以修饰类 --- 这个类不能去扩展, 不能有子类 (不让别人去扩展, 这个类是最终的类时)

*

* 2. final可以修饰方法 --- 这个方法,就不能在子类中覆盖(不让子类去改这个方法, 或扩展这个方法的功能时, 这个方法也就时最终的方法)

*

*/

$s = new Student("妹子", 20, "女", "兄弟连");

$s -> say();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值