码迷,mamicode.com
首页 > Web开发 > 详细

PHP对象基础

时间:2019-08-21 00:35:04      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:声明   调用   覆盖   子类   不能被继承   public   new   对象   rop   

class  demo1 {
	public function test1(){
		echo ‘这是一个公有方法,可以随意调用!‘
	} 
	protected function test2(){
		$this->test1();//在类中调用自身的方法
		echo ‘这是一个受保护的方法,只能被自己或其子类或父类调用或覆盖‘
	}
	private function test3(){

		echo ‘这是一个私有的方法,只能被自身所在的类调用‘
	}
	final public function test4(){
		echo ‘如果父类的方法被声明为final,则子类无法覆盖该方法。如果一个类被生命为final,则不能被继承‘
	}
	static public function test5(){
		echo ‘这是一个静态公有的方法,可以不实例化类而直接调用‘;
	}
	public $prop1 = ‘这是一个公有的属性,可以随意调用或覆盖!‘;
	protected $prop2 = ‘这是一个受保护的属性,只能被自身或父类、子类调用或覆盖!‘;
	private $prop3 = ‘这是一个私有的属性,只能够自身调用!‘;
	static public $prop4 = ‘这是一个静态公有的属性,可以不实例化类而直接调用,静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。静态属性不可以由对象通过 -> 操作符来访问。‘;

}
demo1::test5();//静态方法,可以不实例化而直接调用
demo1::$prop4;//调用静态属性
$shuchu = new demo1; 
$shuchu->test1();
$shuchu->test2();//这一行会产生致命错误,因为他们是私有的或者受保护的,不能被外部调用
$shuchu->test3();//这一行会产生致命错误,因为他们是私有的或者受保护的,不能被外部调用
$shuchu->test4();
$shuchu->$prop1;//调用属性
class demo2 extends demo {
	protected function test6(){
		parent::test1();//始终是调用父类的公有方法
		parent::test2();//始终是调用父类受保护的方法
		$this->test1();//如果子类中有自己的方法,则调用自己的,如果没有,调用父类的
		parent::$prop1;//调用父类的方法
		$this->$prop1;//调用父类的属性
	}
	public function test7(){
		$this->test6();
	}
}
$shuchu2 = new demo2;
$shuchu2->test7();

  

PHP对象基础

标签:声明   调用   覆盖   子类   不能被继承   public   new   对象   rop   

原文地址:https://www.cnblogs.com/dayin1/p/11386210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!