加入收藏 | 设为首页 | 会员中心 | 我要投稿 承德站长网 (https://www.0314zz.com.cn/)- 云开发、边缘计算、数据分析、视频终端、人体识别!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php面向对象方法

发布时间:2022-08-02 14:01:45 所属栏目:PHP教程 来源:互联网
导读:php面向对象之静态方法使用 什么是静态方法? 不是所有的变量和方法都要通过创建对象来调用。可以通过给变量和方法加上static关键字来直接调用。 调用静态成员的语法格式为: 关键字::静态成员 关键字可以是: (1)self,在类内部调用静态成员时所使用。 (
  php面向对象之静态方法使用
  什么是静态方法?
 
  不是所有的变量和方法都要通过创建对象来调用。可以通过给变量和方法加上static关键字来直接调用。
 
  调用静态成员的语法格式为:
 
  关键字::静态成员
 
  关键字可以是:
 
  (1)self,在类内部调用静态成员时所使用。
 
  (2)静态成员所在的类名,在类外调用类内部的静态成员时所使用。
 
  注意:在静态方法中,只能调用静态变量,而不能调用普通变量;而普通方法则可以调用静态变量。
 
  复制代码
  <?php
  class Math{
      //静态方法计算平方
      static function squared($input){
          return $input*$input;
      }
  }
  echo Math::squared(3);
  复制代码
  运行结果为:9
 
   
 
  上面是个简单的实例,值得注意的是,在静态方法中,不能使用$this关键字,因为可能会没有可以引用的对象实例。因为静态方法可以不需要实例化对象。
 
  使用静态成员,除了可以不需要实例化对象外,另一个作用就是在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用。这个概念比较抽象,下面举个例子具体分析。
 
  复制代码
  <?php
 
  class Play{
      static $num = 0;
      function showNum(){
          echo 'num is :'.self::$num;
          self::$num++;
      }
  }
  $play1 = new Play();
  $play1->showNum();
  echo '<br>';
 
  $play2 = new Play();
  $play2->showNum();
  echo '<br>';
 
  echo 'num is :'.Play::$num;
  复制代码
  注意事项:
 
  静态方法很好用,不用实例化对象,当类第一次加载的时候就已经给了静态成员空间。但是什么东西都是不能滥用的。因为一旦静态成员声明的过多,空间一直被占用着,那么会影响系统的运行速度和功能,所以切记:东西虽好,可不能贪多哦!
 
   
 
  php面向对象:成员方法、成员变量、类的常量
  定义一个人的类,创建一个跑的成员方法
 
  复制代码
  <?php
 
  class Person{
      //定义成员变量
      public $name;
      public $age;
      public $gender;
      public function run(){
          echo '人在塔在';
      }
  }
 
  $person = new Person();
  $person->name = '德玛西亚';
  $person->run();
  复制代码
  类中有变量,那么相对的也就是会有常量。常量的意思就是不会改变的量,是一个恒值。
 
  定义常量,我们用const。
 
  复制代码
  <?php
 
  class Person{
      public $name;//声明一个变量
      const SKILLS = '哈撒尅';//声明一个常量
      public function run(){
          echo '人在塔在';
      }
  }
 
  $person = new Person();
  $person->name = '亚索';
  echo '<br>';
 
  $person->run();
  echo '<br>';
 
  echo '我是'.$person->name;
  echo '<br>';
 
  echo '我的技能是:'.$person::SKILLS;
  复制代码
 
 
   
 
   
 
  php面向对象之构造函数作用与方法
  构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
 
  构造函数的作用就是用来初始化对象的。该方法可以没有参数,也可以有多个参数。定义构造函数也很简单,__construct(),值得注意的是函数construct前面是两个下划线"_".
 
  复制代码
  <?php
 
  class Person{
      public $name;
      public $height;
 
      function __construct($name,$height){
          $this->name = $name;
          $this->height = $height;
      }
 
      public function play(){
          if($this->height>175){
              return $this->name.'可以打篮球';
          }else{
              return $this->name.'不可以打篮球';
          }
      }
  }
 
  $person = new Person('cyy','168');
  echo $person->play();
  复制代码
 
 
   
 
   构造方法是初始化对象时使用的,如果没有构造方法,那么PHP会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。
 
   
 
  php面向对象之析构函数的作用与用法
  析构函数的作用和构造函数的作用正好相反,是对象被销毁时被调用,作用是释放内存。定义析构函数的格式为:__destruct(),和构造函数一样的是,前面也是两个下划线"_"。
 
  复制代码
  <?php
 
  class Person{
      public $name;
      public $height;
 
      function __construct($name,$height){
          $this->name = $name;
          $this->height = $height;
      }
 
      function __destruct(){
          echo '对象被销毁了';
      }
 
      public function play(){
          if($this->height>175){
              return $this->name.'可以打篮球';
          }else{
              return $this->name.'不可以打篮球';
          }
      }
  }
 
  $person = new Person('cyy','168');
  echo $person->play();
  echo '<br>';
  复制代码
 
 
   
 
   
 
  析构函数使用注意事项:
 
  php使用的是一种“垃圾回收”机制,自动清除不再使用的对象,释放内存,就是说即使不使用unset函数,析构方法也会自动被调用,这里只是明确一下析构函数在何时被调用。一般情况下是不需要手动创建析构方法的。

(编辑:承德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读