分享下php5类中三种数据类型的区别
Jun 06, 2016 pm 08:12 PM这篇文章主要介绍了php5类中三种数据类型的区别,需要的朋友可以参考下
public: 公有类型
在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法
在实例中可以能过$obj->var 来调用 public类型的方法或属性
protected: 受保护类型
在子类中可以通过self::var 来调用 protected类型的方法或属性 可以通过parent::method 来调用父类中的方法
在实例中不能通过$obj->var 来调用 protected类型的方法或属性
private: 私有类型
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
2.self 和 parent 的区别
a).在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用
b).self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像
附代码:
name= 'simple'; $this->passwd='123456'; $this->email = 'bjbs_270@163.com'; } public function show(){ print "good "; } public function inUserClassPublic() { print __CLASS__.'::'.__FUNCTION__." "; } protected function inUserClassProtected(){ print __CLASS__.'::'.__FUNCTION__." "; } private function inUserClassPrivate(){ print __CLASS__.'::'.__FUNCTION__." "; } } class simpleUser extends User { public function __construct(){ //print __CLASS__." "; parent::__construct(); } public function show(){ print $this->name."//public "; print $this->passwd."//private "; print $this->email."//protected "; } public function inSimpleUserClassPublic() { print __CLASS__.'::'.__FUNCTION__." "; } protected function inSimpleUserClassProtected(){ print __CLASS__.'::'.__FUNCTION__." "; } private function inSimpleUserClassPrivate() { print __CLASS__.'::'.__FUNCTION__." "; } } class adminUser extends simpleUser { protected $admin_user; public function __construct(){ //print __CLASS__." "; parent::__construct(); } public function inAdminUserClassPublic(){ print __CLASS__.'::'.__FUNCTION__." "; } protected function inAdminUserClassProtected(){ print __CLASS__.'::'.__FUNCTION__." "; } private function inAdminUserClassPrivate(){ print __CLASS__.'::'.__FUNCTION__." "; } } class administrator extends adminUser { public function __construct(){ parent::__construct(); } } /** * 在类的实例中 只有公有属性和方法才可以通过实例化来调用 */ $s = new administrator(); print '-------------------'; $s->show(); ?>

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Does Bitcoin have stocks? Does Bitcoin have equity?

deepseek What is the difference between r1 and v3 version

What is the difference between pre-market and after-market trading? Detailed explanation of the differences between pre-market and after-market trading

Why is Bittensor said to be the 'bitcoin' in the AI track?

Is there any difference between South Korean Bitcoin and domestic Bitcoin?

Pepe bought and sold out in a big way, is MUTM a smarter investment in 2025?

Vertical proxy: Application scenarios and interpretation of disruptive potential of encryption native proxy
