2012-10-02 3 views
9

몇 가지 추상 메서드를 구현하는 클래스가 있습니다. 내가 그 클래스를 확장 할 때 나는 다음과 같은 치명적인 오류 메시지가 : 추상 메소드와 클래스오류 : 클래스는 추상으로 선언되거나 나머지 메서드를 구현해야합니다.

Class CI_Controller_Rest contains 6 abstract methods and must therefore be declared abstract or implement the remaining methods 

:

class CI_Controller_Rest extends CI_Controller { 
    public function __construct() { 
     parent::__construct(); 
    } 

    abstract public function index(); 

    abstract public function get(); 

    abstract public function head(); 

    abstract public function post(); 

    abstract public function put(); 

    abstract public function delete(); 
} 

내가 CI_Controller_Rest을 확장 클래스 :

class Welcome extends CI_Controller_Rest { 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function index() {} 

    public function get() {} 

    public function head() {} 

    public function post() {} 

    public function put() {} 

    public function delete() {} 
} 

내가 뭘해야 이보다 더 할 수 있을까요?

+3

오류가 당신에게 soution에게이 포함되어 있기 때문에 CI_Controller_Rest는 추상 클래스를해야합니다! 더 이상 추가 할 필요가 없습니다 ... 추상 (CI_Controller_Rest) 클래스를 선언해야합니다. 그렇지 않으면 해당 메소드에 대한 구현을 제공해야합니다 ... – obe6

+1

@ obe6 oh right! 나는 그것을 어떻게 놓쳤는가? CI_Controller_Rest를 abstract로 변경했다고 생각했습니다. 권리! – Andrew

답변

20

클래스가 하나 개 이상의 추상적 인 기능이있는 경우, it MUST be declared as an abstract class :

abstract class CI_Controller_Rest extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
    } 

    abstract public function index(); 

    abstract public function get(); 

    abstract public function head(); 

    abstract public function post(); 

    abstract public function put(); 

    abstract public function delete(); 
} 
+3

어, 10 초 단축되었습니다 :) – S3Mi

0
abstract class CI_Controller_Rest extends CI_Controller { 
    public function __construct() { 
     parent::__construct(); 
    } 

    abstract public function index(); 

    abstract public function get(); 

    abstract public function head(); 

    abstract public function post(); 

    abstract public function put(); 

    abstract public function delete(); 
} 
+11

설명없이 코드를 게시하지 마십시오. – JvdBerg

0

는 추상적 인 방법

abstract class CI_Controller_Rest extends CI_Controller { 
    public function __construct() { 
     parent::__construct(); 
    } 

    abstract public function index(); 

    abstract public function get(); 

    abstract public function head(); 

    abstract public function post(); 

    abstract public function put(); 

    abstract public function delete(); 
} 
관련 문제