php面向对象之访问权限修饰符

PHP中有三种访问修饰符,分别是:
     public(公共的、默认)
     protected(受保护的)
     private(私有的)
public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。
protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。
private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。
 
图解


多的不说,上代码

<?php

class person {
    public $name;
    protected $age;
    private $secret;

    public function __construct($name, $age, $secret)
    {
        $this->name = $name;
        $this->age = $age;
        $this->secret = $secret;
    }

    public function sayMyInfo1()
    {
        printf("my name's %s, age's %d, secret's %s", $this->name, $this->age, $this->secret);
    }
}

class student extends person {
    public function sayMyInfo2()
    {
        printf("my name's %s, age's %d, secret's %s", $this->name, $this->age, $this->secret);
    }
}

$p = new person('炎帝', 32, '尝百草');

echo $p->name;  //炎帝
echo $p->age; //fatal错误 不能访问私有属性
echo $p->secret; //fatal错误 不能访问私有属性

$p->sayMyInfo1(); //my name's 炎帝, age's 32, secret's 尝百草


echo "<hr />";

$s = new student('lightWay', 23, '大明湖畔');

echo $s->name;  //lightWay
echo $s->age; //fatal错误 不能访问私有属性
echo $s->secret; //notice错误 没有定义

$s->sayMyInfo2(); //my name's lightWay, age's 23, secret's ### 这里会产生一个notice级别错误 没有定义 ###


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值