zoukankan      html  css  js  c++  java
  • php orient object progarmming

    类:

    class ParentClass{
            public $a=10;
            public function setVal($val){
    
                $this->a = $val;
            }
    
           public function getVal(){
    
                return $this->a;
          }
    }
    

    实例化

    $obj = new ParentClass;
    echo $obj->a."<br>";
    $obj->setVal(10000);
    echo $obj->getVal();
    


    构造函数__construct() 当初始化实例的时候会被触发

    class obj{
      public function __construct(){
          echo "the class".__class__."was initialized !!!";
        }
    }
    
    new obj;
    
    


    __destruct() 当实例对象被注销的时候,会自动触发

    class obj{
      public function __construct(){
          echo "the class".__class__."was initialized !!!";
        }
      
      public function __destruct(){
        
         echo "Happy Ending !!!";
        }
    }
    
    $a = new obj;
    unset($a);
    


    extends 子类继承父类

    class childOne extends ParentClass{
        
    }
    new childOne;
    


    当子类存在的变量或则构造函数和父类的相同的时候,会覆盖父类的变量和方法
    如果需要保留父类的构造函数同时触发的话,可以使用parent::__construct();

    class childOne extends parentClass{
        public function __construct(){
            parent::__construct();
            echo "this is my construct!!!";
        }
    }
    
    new childOne;
    

    访问标识符
    public 变量,方法 所有的类都可以访问
    protected 变量,方法 该类内部访问或则子类通过方法向上继承的方式才可以访问,子类不可以直接去访问
    private 变量,方法 只允许该类自己内部访问

    class ParentClass{
      public $a =2000;
      public function __construct(){
          echo "the class".__class__."was initialized !!!";
        }
      
      public function __destruct(){
        
         echo "Happy Ending !!!";
        }
      
      protected function getVal(){
         return $this->a;
        }
    }
    class childOne extends parentClass{
        public function __construct(){
            parent::__construct();
            echo "this is my construct!!!";
        }
    }
    
    $ch = new childOne;
    echo $ch->getVal();
    

    class ParentClass{
      public $a =2000;
      public function __construct(){
          echo "the class".__class__."was initialized !!!";
        }
      
      public function __destruct(){
        
         echo "Happy Ending !!!";
        }
      
      protected function getVal(){
         return $this->a;
        }
    }
    class childOne extends ParentClass{
         public function abcd(){
             return $this->getVal();
                
        }
    }
    
    $child123 = new childOne;
    echo $child123->abcd();
    

    静态变量,静态方法,不需要实例化就可以直接使用的

    <?php
    // Your code here!
    class demo{
       public static $count=10;
       public static function plusOne()
      {
          return "The count is " . ++self::$count . ".<br />";
      }
    
    }
    echo demo::$count."<br>";  //注意,这里是有$符号的!!!
    echo demo::plusOne();
    ?>
    
    

    Reference:
    https://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

  • 相关阅读:
    世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)
    树莓派-基于raspivid实现拍视频
    在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX
    树莓派4装热点板不启动咋板?
    portapack h1 买回来刷hackrf与使用说明
    portapack发射GPS的信号实现GPS脱机模拟器
    DMR windows 软件x64
    浅谈iOS多线程
    iOS Sonar 集成流程
    不要相信程序员在加班时间写的代码
  • 原文地址:https://www.cnblogs.com/cyany/p/10123732.html
Copyright © 2011-2022 走看看