在計算機編程中,Traits是面向對象編程中使用的一種概念,它表示一組可用於擴展類功能的方法。
基本介紹
- 外文名:Traits
- 作用:擴展類功能的方法。
特點
衝突的方法被排除在組合物之外。
支持的語言
例子
// The templatetrait TSingleton{ private static $_instance = null; private function __construct(){} // Must have private default constructor and be aware not to open it in the class public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); } return self::$_instance; }}class FrontController{ use TSingleton;}// Can also be used in already extended classesclass WebSite extends SomeClass{ use TSingleton;}
trait TBounding{ public $x, $y, $width, $height;}trait TMoveable{ public function moveTo($x, $y) { // … }}trait TResizeable{ public function resize($newWidth, $newHeight) { // … }}class Rectangle{ use TBounding, TMoveable, TResizeable; public function fillColor($color) { // … }}