2012-10-02 17 views
9

Birkaç soyut yöntem uygulayan bir sınıfa sahibim. Ben bu sınıfı genişletir zaman aşağıdaki önemli hata mesajı alıyorum: soyut yöntemlerle sınıfHata: Sınıf özet olarak belirtilmelidir veya kalan yöntemleri uygulayın.

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

Ben CI_Controller_Rest uzatmak sınıfı:

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() {} 
} 

Ne yapayım bundan daha fazlasını yapmak?

+3

hata size SOUTION anlatmak içerdiğinden CI_Controller_Rest soyut bir sınıf olmalı! Ekleyecek çok şey yok ... Bu sınıfı (CI_Controller_Rest) özet olarak beyan etmelisiniz, aksi takdirde bu yöntemler için uygulama sağlamalısınız ... – obe6

+1

@ obe6 oh right! Bunu nasıl özledim? Soyutlamak için CI_Controller_Rest değiştirdiğimi düşündüm. Sağ! – Andrew

cevap

20

sınıf bir veya daha soyut işlevleri varsa, 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

Eh, 10 saniye daha hızlı olsaydınız :) – 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

Lütfen açıklama yapmadan kod yazmayınız. – JvdBerg

0

soyut yöntemler

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(); 
} 
İlgili konular