Heim > Schlagzeilen > PHP-Klassenattribute und Klassenkonstanten

PHP-Klassenattribute und Klassenkonstanten

无忌哥哥
Freigeben: 2018-06-28 14:31:21
Original
3587 Leute haben es durchsucht

* Klassenattribute und Klassenkonstanten

* 1. Klassenattribute ermöglichen nur die Initialisierung der folgenden Datentypen

* Skalare und Array-Literale: Zeichenfolgen, numerische Werte, Konstanten, Arrays , Prototypdokument (php5.3+)

* 2. Nicht erlaubt: Variablen, Ausdrücke, Objekte

* 3. Klassenkonstanten werden mit dem Schlüsselwort const deklariert und Zugriffsbeschränkungen gelten Symbol darf nicht festgelegt werden, muss öffentlich sein, kann nicht geändert werden

* 4. Klassenkonstanten sind Attributklassen und weisen kein Attribut auf ein Instanzobjekt davon auf. Sie müssen eine Klasse verwenden, um auf

zuzugreifen

* 5. Zugriffsklassenkonstanten müssen das Bereichsanalysezeichen :: und einen Doppelpunkt verwenden

* Verwenden Sie das Schlüsselwort self in der Klasse, um die aktuelle Klasse anzugeben, und der Klassenname kann direkt extern verwendet werden

define('SITE_NAME','PHP中文网');
class User1 
{
    //声明属性
    private $siteName = SITE_NAME;
    private $name = '老顽童';
    private $email = 'lwt@php.cn';
    private $course = ['php','java','python'];
    const LECTURE = '朱老师';
    //构造方法
    public function __construct($name='',$email='', $siteName='',array $course=[]) 
    {
        //如果传参,则使用新值初始化属性,否则使用默认值
        $name ? ($this->name = $name) : $this->name;
        $email ? ($this->email = $email) : $this->email;
        $siteName ? ($this->siteName = $siteName) : $this->siteName;
        $course ? ($this->course = $course) : $this->course;
        
    }
    
    //查询器
    public function __get($name)
    {
        return $this->$name;
    }
    
    //设置器
    public function __set($name,$value)
    {
        return $this->$name = $value;
    }
    
    //在类中访问类常量,使用self来引用当前类名
    public function getConst()
    {
        //类内部也可以直接使用当前类名
//        return User1::LECTURE;
        //推荐使用self:当类名改变时,不必修改内部对它的引用
        return self::LECTURE;
    }
}
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage