博客列表 >创建一个类,要求有 1. 构造方法 2.查询器:__get() 3.设置器:__set()------2018.05.05上传

创建一个类,要求有 1. 构造方法 2.查询器:__get() 3.设置器:__set()------2018.05.05上传

张鑫的博客
张鑫的博客原创
2018年05月05日 18:06:53622浏览

总结:

类就是对象的模板,对象是类的一个实例,一个对象不能被直接创建,它一定先有类。

类属性的初始化:必须使用标量的字面量,数组也行,不能用变量,表达式,对象

private:访问控制符,仅允许在当前类中被访问,外部不能访问

类文件代码:

实例

<?php
// 创建一个特种兵类
class Police
{
	private $name = '';
	private $age = 0;
	private $height =0;

	public function __construct($name,$age,$height)
	{
		$this->name = $name;
		$this->age = $age;
		$this->height = $height;
	}

	public function __get($name)
	{
		//只有用户名为张鑫才能访问属性
		if ($this->name=='张鑫') {
			return $this->$name;
		}

	}

	public function __set($name,$value)
	{
		
		if ($name=='age') {
			// 年龄大于18的才能当特种兵
			if ($value>=18) {
				$this->$name = $value;
			}
		}else if ($name=='height') {
			// 身高高于1.8的才能当特种兵
			if ($value>=1.8) {
				$this->$name = $value;
			}
		}else{
			$this->$name = $value;
		}

	}



}

运行实例 »

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


测试文件代码:

实例

<?php
// 1.导入文件
require './class/Police.php';
// 2.创建一个对象
$police = new Police('张鑫',25,1.85);
// 3.查看对象里面的属性
echo $police->age;
// 4.更改对象里面的属性值
echo '<hr>';
$police->age=15;  //年龄必须大于等于18才能改值
echo $police->age;


echo '<hr>';
$police->age=18;  //年龄必须大于等于18才能改值
echo $police->age;

echo '<hr>';
$police->height=1.5;  //身高必须大于等于1.8才能改值
echo $police->height;

echo '<hr>';
$police->height=1.95;  //身高必须大于等于1.8才能改值
echo $police->height;

运行实例 »

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


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