时时商务社区
标题:
PHP7匿名类用法分析
[打印本页]
作者:
bewin83
时间:
2018-2-14 05:32
本文实例讲述了PHP7匿名类用法。分享给大家供大家参考,具体如下:
匿名类跟匿名函数一样,创建一次性的简单对象
';
class common {
public $default = 10;
function __construct($key){
$this->getVal($key);
}
public function getVal(int $i):int{
$this->default += $i;
return $this->default+0.1;
}
}
echo '有名函数';echo '
';
$com = new common(1);
echo $com->getVal(2.2).'--';
echo $com->getVal(2.2).'--';
echo (new common(1))->getVal(8.9);
echo '';echo '匿名类';
//定义匿名类需继承
echo (new class(1) extends common{})->getVal(90);echo '
';
echo (new class(2) extends common{})->getVal(90);
运行效果图如下:
匿名类被嵌套进普通 Class 后,不能访问这个外部类(Outer class)的 private(私有)、protected(受保护)方法或者属性。 为了访问外部类(Outer class)protected 属性或方法,匿名类可以 extend(扩展)此外部类。 为了使用外部类(Outer class)的 private属性,必须通过构造器传进来:
prop) extends Outer {
private $prop3;
public function __construct($prop)
{
$this->prop3 = $prop;
}
public function func3()
{
return $this->prop2 + $this->prop3 + $this->func1();
}
};
}
}
echo (new Outer)->func2()->func3();//6
匿名函数可以实现闭包,那么相应的匿名类也可以实现闭包
index = $i;
echo 'create';
}
public function getVal(){
echo $this->index;
}
};
}
$arr[2]->getVal();
echo '
';
var_dump($arr[1]);
运行效果图如下:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《
PHP基本语法入门教程
》、《
PHP运算与运算符用法总结
》、《
php面向对象程序设计入门教程
》、《
PHP网络编程技巧总结
》、《
PHP数组(Array)操作技巧大全
》、《
php字符串(string)用法总结
》、《
php+mysql数据库操作入门教程
》及《
php常见数据库操作技巧汇总
》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:
ASP.NET中实现根据匿名类、datatable、sql生成实体类
详细解读C++编程中的匿名类类型和位域
深入讲解C#编程中嵌套类型和匿名类型的定义与使用
全面了解Java中的内部类和匿名类
使用 Lambda 取代 Android 中的匿名类
java 内部类(匿名类,匿名对象,静态内部类)详解及实例
Java中匿名类的两种实现方式
java 中使用匿名类直接new接口详解及实例代码
Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数
Java通过匿名类来实现回调函数实例总结
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2