happy cat image

everdevel

So This Is Love

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개

정렬기준