• PHP对象基础


    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();
    

      

  • 相关阅读:
    CAS 认证
    最近邻规则分类(k-Nearest Neighbor )机器学习算法python实现
    scikit-learn决策树的python实现以及作图
    module object has no attribute dumps的解决方法
    最新Flume1.7 自定义 MongodbSink 结合TAILDIR Sources的使用
    数据探索中的贡献度分析
    python logging模块按天滚动简单程序
    Flume性能测试报告(翻译Flume官方wiki报告)
    python apsheduler cron 参数解析
    python pyspark入门篇
  • 原文地址:https://www.cnblogs.com/dayin1/p/11386210.html
Copyright © 2020-2023  润新知