트레이트

Jmnote (토론 | 기여)님의 2022년 3월 31일 (목) 12:29 판 (→‎참고)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

trait
트레이트
  • 클래스 기능을 확장하기 위해 사용하는 메소드들의 집합

2 예시: PHP

  • 템플릿
trait TSingleton {
    private static $_instance = null;
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }
}
class FrontController {
    use TSingleton;
}
class 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) {
        // ...
    }
}

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}