php 匿名类new抽象方法,php匿名类的创建与使用方法_2018年9月5日

实例

/**

* 匿名类的创建

* 匿名类只支持PHP7.0以上

* 匿名类也是利用new来直接调用

*/

//创建一个类

class BadPerson

{

private $name = '西门大官人';

public function story($name)

{

return $this->name.'喜欢上了'.$name.'


';

}

}

$BadPerson = new BadPerson();

echo $BadPerson->story('金莲妹妹');

//创建一个匿名对象

echo (new BadPerson())->story('莲花妹妹');

//创建一个匿名类

echo (new class

{

private $name = '西门大官人';

public function story($name)

{

return $this->name.'喜欢上了'.$name.'


';

}

})->story('水花妹妹');

//匿名类的三种应用场景

//1、在匿名类中可以使用构造方法

echo (new class ('欧阳克')//使用构造方法的时候,要传入参数,匿名类就在这里利用括号传入参数

{

private $name = '';

public function __construct($name)

{

$this->name = $name;

}

public function show($name)

{

return $this->name.'喜欢上了'.$name.'


';

}

})->show('小龙女');

//在匿名类中可以继承其它成员

//要在匿名类中继承成员,首先我们要创建一个类

class KungFu

{

protected $kill = '';

public function __construct($sta='')

{

$this->kill = $sta;

}

public function show()

{

return $this->kill ? $this->kill : '黯然销魂撑';

}

}

//在上面中已经创建了一个类,下面我们利用匿名类来继承类

echo (new class('西门大官人','玉女剑法') extends KungFu

{

private $name;

public function __construct($name='',$sta='')//如果$name为空,就可以不传,如果就必须要传值。

{

parent::__construct($sta);

$this->name = $name;

}

public function story($name)

{

return $this->name.'喜欢上了'.$name;

}

public function show()

{

return $this->name.'绝招是:'.parent::show();

}

}

)->show();

//可以在声明的类中嵌套一个匿名类

class Anmal

{

public $dog = '狗';

protected $color = '白色';

private $type = '哈士奇';

protected function info()

{

return '售价2000元';

}

public function dome1()

{

return (new class ($this->type) extends Anmal {

private $type;

public function __construct($name)

{

$this->type = $name;

}

public function Demo2()

{

return '我是嵌套匿名类中的方法'.__METHOD__;

}

public function show()

{

return

'动物的名称是: ' .$this->dog. '
'.

'动物的颜色是: ' .$this->color. '
'.

'动物的是: ' .$this->type. '
';

}

}

);

}

}

//在匿名类中访问dome2

echo (new Anmal())->dome1()->Demo2();

echo (new Anmal())->dome1()->show();

运行实例 »

点击 "运行实例" 按钮查看在线实例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值