PHP에서 특성을 사용하는 방법은 무엇입니까? (예제 포함)

不言
풀어 주다: 2023-04-04 15:04:01
원래의
3436명이 탐색했습니다.

PHP5.4.0부터 PHP는 특성이라는 코드 재사용 방법을 구현했습니다. 실제로 특성을 사용하려면 특성이 클래스 이름과 동일해야 하며, 먼저 정의된 특성 모듈에서 메서드를 정의할 수 있습니다.

PHP에서 특성을 사용하는 방법은 무엇입니까? (예제 포함)

특성을 생성하는 데 필요한 작업은 위의 "특성 이름 결정"과 "필요한 방법 정의"입니다.

특성 사용법을 살펴보겠습니다. trait

특성의 정의

trait  特征名{
    function 方法名1() {
   }

    function 方法名2() {
    }
}
로그인 후 복사

특성의 사용

class 类名 {
    // 这使得类与定义方法1和方法2的状态相同
    use trait名;
}
로그인 후 복사

구체적인 예

아래 코드에서는 이 책 클래스와 펜을 준비했습니다. 클래스, 두 클래스 모두 공통세를 포함하여 가격을 계산하는 프로세스가 있으므로 이 프로세스를 특성으로 정의합니다.

"TaxCalculator 사용"이라고만 쓰면 세금 포함 계산 기능을 사용할 수 있다는 것을 설명할 수 있을 것 같습니다.

북 클래스/펜 클래스에 이 값을 정의하면 작성해야 하는 코드의 양이 늘어나 수정 시 두 클래스 모두 수정해야 합니다.

트레이트를 사용하면 코드량이 줄어들고, 수정이 되더라도 TaxCalculator만 수정하면 되기 때문에 유지관리성이 높습니다.

// 税的计算处理
trait TaxCalculator {
    private $price;         // 价格
    private $tax = 0.08;    // 税收
    // 返还含税的价格
    public function taxIncluded() {
        return $this->price * (1 + $this->tax);
    }
}
// 表示book类的信息
class Book {
    use TaxCalculator;
    public $title;      // 标题
    public $author;     // 作者
    public function __construct($price, $title, $author) {
        $this->price = $price;
        $this->title = $title;
        $this->author = $author;
    }
}
// 表示pen类的信息
class Pen {
    use TaxCalculator;
    public $color;  // 颜色
    public $type;   // 自动笔或者铅笔

    public function __construct($price, $color, $type) {
        $this->price = $price;
        $this->color = $color;
        $this->type = $type;
    }
}
// 把书和笔实例化
$book = new Book(80, ""红楼梦"", ""曹雪芹"");
$pen = new Pen(10, ""black"", ""sharp"");

// 输出含税的价格
echo $book->taxIncluded().PHP_EOL;  // 324
echo $pen->taxIncluded().PHP_EOL;   // 108
로그인 후 복사

이 기사는 여기서 끝납니다. 더 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주목하세요! ! !

위 내용은 PHP에서 특성을 사용하는 방법은 무엇입니까? (예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!