php云盘匿名,PHP7之匿名类
发布日期:2021-06-24 10:48:30 浏览次数:6 分类:技术文章

本文共 1318 字,大约阅读时间需要 4 分钟。

匿名类可以创建一次性的简单对象

如下代码所示:

/*********************匿名函数************************/

$fu = function(){

echo "这是匿名函数";

};

$fu();

echo "

";

class Animal{

public $num;

public function __construct($key){

$this->num = $key;

}

public function getValue($sum):int{

return $this->num+$sum;

}

}

$animal = new Animal(5);

echo $animal->getValue(10);

echo "

";

/****************************匿名类***********************/

echo "这是匿名类

";

echo (new class(5) extends Animal{})->getValue(90);

echo "

";

echo (new class(5) extends Animal{})->getValue(100);

?>

输出如下

9ce2e197b8f0

Paste_Image.png

匿名类被嵌套进普通类后,不能访问这个 外部类的 私有(private)、受保护(protected)方法或属性。但如果想访问protected方法或属性,可以 继承(extends)这个外部类,想访问这个 私有(private)方法或属性,可以通过构造器,如下代码所示:

class Animal{

private $num = 1;

protected $age = 2;

protected function bark(){

return 10;

}

public function drive(){

return new class($this->num) extends Animal{

protected $id;

public function __construct($sum){

$this->id = $sum;

}

public function eat(){

return $this->id+$this->age+$this->bark();

}

};

}

}

echo (new Animal)->drive()->eat();

?>

以上代码输出 13

匿名类的闭包实现,如下

$test = array();

for($i=0; $i<6; $i++){

$test[] = new class($i){

public $age;

public function __construct($num){

$this->age = $num;

}

public function getValue(){

return $this->age;

}

};

}

echo $test[0]->getValue();

echo "

";

var_dump($test[2]);

如下显示

9ce2e197b8f0

Paste_Image.png

转载地址:https://blog.csdn.net/weixin_32290249/article/details/115669435 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:matlab数据大小不兼容,MATLAB无法执行赋值,因为左侧的索引与右侧的大小不兼容。 求解...
下一篇:java 边缓存边播放,java动态缓存技术:WEB缓存应用

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月02日 21时41分01秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

app运行提示Unable to Initialize Unity Engine 2019-04-27
spring boot 与 Ant Design of Vue 实现修改按钮(十七) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除按钮(十八) 2019-04-27
spring boot 与 Ant Design of Vue 实现角色管理布局以及角色的列表(十九) 2019-04-27
spring boot 与 Ant Design of Vue 实现新增角色(二十) 2019-04-27
spring boot 与 Ant Design of Vue 实现修改角色(二十一) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除角色(补二十一) 2019-04-27
spring boot 与 Ant Design of Vue 实现组织管理布局的实现(二十二) 2019-04-27
spring boot 与 Ant Design of Vue 实现左侧组织树(二十三) 2019-04-27
spring boot 与 Ant Design of Vue 实现新增组织(二十四) 2019-04-27
spring boot 与 Ant Design of Vue 实现修改组织(二十五) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除组织(二十六) 2019-04-27
spring boot 与 Ant Design of Vue 实现获取用户列表(二十七) 2019-04-27
Druid连接池实现自定义场景的多数据库的连接 2019-04-27
带你玩转属于自己自己的spring-boot-starter系列(二) 2019-04-27
什么是服务熔断? 2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能 2019-04-27
C++面经总结之《Effective C++》(一) 2019-04-27
C++面经总结之《Effective C++》(二) 2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!! 2019-04-27