2012-10-02 15 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 ओह ठीक है! मुझसे यह चूक कैसे हुई? मैंने सोचा कि मैंने CI_Controller_Rest को अमूर्त में बदल दिया है। सही! – 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(); 
} 
संबंधित मुद्दे

 संबंधित मुद्दे