<?php
//class基本语法-------------------------
class User {
	//创建属性
   public $username = 'ryu';
   public $email = 'a@g.com';
	//方法
   public function addFriend() {
      return "$this->email added a new friend";
   }
}

//实例化对象
$userOne = new User();
$userTwo = new User();
$

//调用
echo $userOne->username . '<br>';
echo $userOne->email . '<br>';
echo $userOne->addFriend() . '<br>';

$userTwo->username = 'mj';
$userTwo->email = 'b@g.com';

echo $userTwo->username . '<br>';
echo $userTwo->email . '<br>';
echo $userTwo->addFriend() . '<br>';



//构造函数语法--------------------------
<?php

class User {
   //定义变量
   public $username;
   public $email;
   //private $email;私有只允许类方法内部使用
   //构造函数
   public function __construct($username, $email)
   {
      $this->username = $username;
      $this->email = $email;
   }

   public function addFriend() {
      return "$this->email added a new friend";
   }
}
//传入参数
$userOne = new User('mario', 'mario@g.com');
$userTwo = new User('liye', 'liye@g.com');

echo $userOne->username . '<br>';
echo $userOne->email . '<br>';
echo $userOne->addFriend() . '<br>';

// $userTwo->username = 'mj';
// $userTwo->email = 'b@g.com';

echo $userTwo->username . '<br>';
echo $userTwo->email . '<br>';
echo $userTwo->addFriend() . '<br>';


//继承--------------------------------
<?php

class User {
   //定义变量
   public $username;
   public $email;
   //构造函数
   public function __construct($username, $email)
   {
      $this->username = $username;
      $this->email = $email;
   }

   public function addFriend() {
      return "$this->email added a new friend";
   }
}

//继承
class AdminUser extends User {

   public $level;
   //新加入level参数
   public function __construct($username, $email, $level)
   {
      $this->level = $level;
      //避免覆盖,重新导入父类构造函数,以及参数
      parent::__construct($username, $email);
   }
}

//传入参数
$userOne = new User('mario', 'mario@g.com');
$userTwo = new User('liye', 'liye@g.com');
$userThree = new AdminUser('chen', 'chen@g.com', 5);

//因为重新导入父类构造函数,参数,可以继续使用
echo $userOne->username . '<br>';
//新参数
echo $userThree->level;



//静态属性,不用实例化对象直接调用------------
<?php 
//静态属性keyword(static)class可以直接调用,不用实例化对象
  class Weather {

    public static $tempConditions = ['cold', 'mild', 'warm'];

    public static function celsiusToFarenheit($c){
      return $c * 9 / 5 + 32;
    }

    public static function determineTempCondition($f){
      if($f < 40){
        return self::$tempConditions[0];//self::代表类本身
      } elseif($f < 70){
        return self::$tempConditions[1];
      } else {
        return self::$tempConditions[2];
      }
    }

  }

  //print_r(Weather::$tempConditions);
  //直接调用class内属性,方法,没有实例化对象
  echo Weather::celsiusToFarenheit(50) . '<br>';
  echo Weather::determineTempCondition(80);

更多文章请关注《万象专栏》

本栏目由《康祺惠购APP》独家赞助