返回子类中重写静态......登陆

子类中重写静态成员的属性

小弟,抱着学习的心态,前来观摩2019-04-30 08:28:25377
<?php
# static 关键字
# 1. 定义与访问类静态成员
# 2. 访问类常量
# 3. 后期静态绑定
class MyClass
{
	const NATION = '中国';
	protected static $name;
	protected static $age;
	protected static $sex;
	
	public function __construct($name,$age,$sex)
	{
		self::$name = $name;
		self::$age = $age;
		self::$sex = $sex;
	}
}

class Sub extends MyClass
{
	public function __construct($name,$age,$sex)
	{
		parent::__construct($name,$age,$sex);
	} 
	
	public static function getInfo()
	{
		echo '国际: '.static::NATION,'<br>';
		echo '姓名: '.static::$name,'<br>';
		echo '年龄: '.static::$age,'<br>';
		echo '性别: '.static::$sex;
	}
	
	public static function setInfo($name, $age, $sex)
	{
		static::$name = $name;
		static::$age = $age;
		static::$sex = $sex;
	}
}
new Sub('Amy',18,'女');
echo Sub::getInfo(),'<hr>';
Sub::setInfo('Jerry', 20, '男');
echo Sub::getInfo(),'<hr>';
# Sub::NATION = '美国';  # 常量不能被修改
echo Sub::NATION;


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送