php中final、static、const的使用

final

1.final不能修饰成员属性

2.final只能修饰类和方法

作用:使用final修饰的类不能被子类继承,使用final修饰的方法不能被子类去覆盖

static

1.使用static可以修饰成员属性和成员方法,不能修饰类

2.用static修饰的成员属性,可以被同一个类的所以对象共享

2.静态的数据是存在内存中数据段中(初始化静态段)

4.静态的数据是在类第一次加载时分配到内存中,以后在用到类时就直接从数据段中获取

注意:静态的成员都要使用类名去访问,不用创建对象,不用对象去访问

    类名::$静态成员

如果在类中使用静态成员,使用 self代表本类($this)

5.静态方法,不能访问非静态成员。因为非静态成员,就必须通过实例对象去访问。如果你确定一个方法不使用非静态的成员,则可以将这个方法声明为静态方法(不需要实例,直接使用类名就可以使用)

<?php
	//面向对象-----封装、继承
	header('content-type:text/html;charset=utf-8');
	class Person{
		private $name;
		private $sex;
		private $age;
		static $country;
		//构造方法魔术方法 php5
		function __construct($name,$sex,$age,$country="中国"){
			$this->name= $name;
			$this->sex= $sex;
			$this->age= $age;
			self::$country = $country;
		}
		function say(){
			echo "我的名字:$this->name ,我的年纪:$this->age ,我的性别:$this->sex 。<br>".self::$country;
			$this->run();
		}
		static function run(){
			echo "run=======";
		}
	}

	$person = new Person("张三","男","30","美国");
	echo "$person->name".'<br>';
	echo Person::run();
	echo Person::$country;

const

1.他只能修饰成员属性

2.类中声明常量属性使用const

3.命名方式和我们以前学习define一样的效果

4.访问方式和static静态成员属性是一样(在类外部使用 类名::常量,在类内部使用 self::常量)

5.常量一定要在声明的时候赋值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值