happy cat image

everdevel

coding

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.

트레이트에 규칙 정하기

트레이트를 사용하는 클래스에 반드시 선언해야하는 메소드를 지정할 수 있습니다.
똑같아요 abstract 키워드를 사용합니다.

트레이트 메소드에 abstract 사용방법

trait 트레이트명{
    abstract 접근제한자 function 메소드명();
}

자 그럼 예제를 통해서 볼까요.

<?php
    trait apple
    {
        //반드시 likeApple() 메소드를 선언해야해요.
        abstract static function likeApple();

        public static function phone()
        {
            return 'iPhone';
        }
    }

    class disney
    {
        use apple;
    }

    $disney = new disney;
?>

disney 클래스에서 likeApple메소드를 선언하지 않아서 오류가 발생합니다.
다음은 likeApple()메소드를 선언한 예제입니다.

<?php
    trait apple
    {
        //반드시 likeApple() 메소드를 선언해야해요.
        abstract static function likeApple();

        public static function phone()
        {
            return 'iPhone';
        }
    }

    class disney
    {
        use apple;

        public function likeApple()
        {
            return '디즈니와 애플은 서로 친해요.';
        }
    }

    $disney = new disney;
    echo $disney->likeApple();
?>

이렇게 abstract를 사용해 트레이트에서 메소드 규칙을 만드는 방법에 대해 알아봤습니다. ^-^*


봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준