博客列表 >创建一个具有查询器和设置器的类,并正常调用20180502

创建一个具有查询器和设置器的类,并正常调用20180502

jobing的博客
jobing的博客原创
2018年05月27日 17:11:37681浏览

今天学习了创建一个具有查询器和设置器的类,并使用php脚本正常调用,以下是相应的代码:

实例

<?php 

class Goods
{
	//声明属性
	private $name = '';
	private $number = 0;
	private $price = [];

	//构造方法
	public function __construct($name,$number,$price)
	{
		$this->name = $name;
		$this->number = $number;
		$this->price = $price;
	}

	//魔术方法:查询器
	public function __get($name)
	{
		return $this->$name;
	}

	//魔术方法:设置器
	public function __set($name,$value)
	{	
		if(empty($value)){
			$msg='信息不能为空';
			if(is_array($value)){
				$this->$name = [$msg,$msg,$msg];
			}else{
				$this->$name = $msg;
			}
		}else{
			$this->$name = $value;
		}
	}
}

运行实例 »

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

实例

<?php 

 require './class/Goods.php';

 $goods = new Goods('可乐',6909612113716,[1,3,5]);


 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';
 echo '<hr>';

 $goods->name = '雪碧';
 $goods->number = 6907878125023;
 $goods->price = [2,4,6];
 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';
 echo '<hr>';

 $goods->name = '';
 $goods->number = '';
 $goods->price = [];
 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';

运行实例 »

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

效果展示图:

20180502.png

总结:

创建一个类的步骤:

1.声明属性,使用private 关键字来修饰类属性,修饰后的属性只能在本类方法中访问,不能被外部,或者子类访问

2.使用函数__construct声明构造方法

3.使用魔术方法:查询器__get($name)

4.使用魔术方法:设置器__set($name,$value)

备注:

魔术方法可以适用于所有存在或不存在的类属性,不需要再为每个属性创建对应的访问接口

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议