happy cat image

everdevel

hello world

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

트레이트에 규칙 정하기

트레이트를 사용하는 클래스에 반드시 선언해야하는 메소드를 지정할 수 있습니다.
똑같아요 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;
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 순식간에 로그인 하세요.)

결과

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();
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 순식간에 로그인 하세요.)

결과

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


    
    

강좌로 돌아가기

댓글 0개

정렬기준