成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁 ? 技術(shù)教程 ? PHP中的traits簡單使用實例
全站頭部文字 我要出現(xiàn)在這里
PHP中的traits簡單使用實例 722 2023-12-10   

PHP 5.4中的traits,是新引入的特性,中文還真不知道如何準確翻譯好。其實際的目的,是為了有的場合想用多繼承,但PHP又沒多繼承,于是就發(fā)明了這樣的一個東西。
Traits可以理解為一組能被不同的類都能調(diào)用到的方法集合,但Traits不是類!不能被實例化。先來例子看下語法:

<?php
trait myTrait{
  function traitMethod1(){}
  function traitMethod2(){}

}

//然后是調(diào)用這個traits,語法為:
class myClass{
  use myTrait;
}

//這樣就可以通過use myTraits,調(diào)用Traits中的方法了,比如:
$obj = new myClass();
$obj-> traitMethod1 ();
$obj-> traitMethod2 (); 
>

  接下來,我們探究下為什么要用traits,舉個例子,比如有兩個類,分別為business(商務(wù)者)和Individual(個人),它們都有地址的屬性,傳統(tǒng)的做法是,再抽象出一個這兩個類都共同有特性的父類,比如client,在client類中設(shè)置訪問屬性address,business和individual分別繼承之,如下代碼:

// Class Client 
class Client { 
  private $address; 
  public getAddress() { 
    return $this->address; 
  }    
  public setAddress($address) { 
    $this->address = $address;  
  } 
} 
   
class Business extends Client{ 
  //這里可以使用address屬性 
} 

// Class Individual 
class Individual extends Client{ 
//這里可以使用address屬性 
} 

  但假如又有一個叫order類的,需要訪問同樣的地址屬性,那怎么辦呢?order類是沒辦法繼承client類的,因為這個不符合OOP的原則。這個時候traits就派上用場了,可以定義一個traits,用來定義這些公共屬性。

// Trait Address
trait Address{
  private $address;
  public getAddress() {
    eturn $this->address;
  }
  public setAddress($address) {
    $this->address = $address;
  }
}
// Class Business
class Business{
  use Address;
  // 這里可以使用address屬性
}
// Class Individual
class Individual{
  use Address;
  //這里可以使用address屬性
}
// Class Order
class Order{
  use Address;
  //這里可以使用address屬性
}   

這樣就方便多了!


主站蜘蛛池模板: 春闺梦里人剧情| 张宗麟| 第一财经在线直播电视| 林采薇| 剑与花| 我的年轻小姨电视剧免费观看高清| stylistic device| 我们的日子演员表| 在线免费电影网站| 结婚请帖怎么写| 拔萝卜电影| 魏子翔| 小数加减法100道题| 黄色网址视频| 杀破狼3国语在线观看| 郭碧婷是哪里人| 忍石| 守卫者2| 孕妇直播肚子疼揉肚子| 明宰铉身高| 向退休生活游戏正版赚钱入口| 谜证在线观看免费完整版| 爱情岛视频论坛| 伦理<禁忌1| 深夜少妇| 日本电车系列| 83版霍元甲全部演员表| alexandra hedison| 五年级脱式计算题100道| 10种齿痕图解| 深圳古镇| 北京卫视今天全部节目表| 日本电影致命诱惑| 麻烦是朋友| abo血型鉴定实验报告| 水汪汪1988的台湾电影| 辽宁卫视在线观看| 小麦进城电视剧| 秀人网app官网| 白世莉电影 | 活埋电影|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103