php面向对象权限,PHP 面向对象 (一)权限修饰符

权限修饰符

作用:控制访问权限,修饰属性,方法

权限控制符:public(公开的) protected(受保护的) private(私有的)

区别:

public 类内,类外,可以访问

protected 类内,子类的类内,可以访问

private 只有当前类的类内,可以访问

关于继承:

子类可以继承父类私有属性,不能继承私有方法

子类继承自父类的属性方法,必须比父类更松弛

实践

编写父类Father 和 子类Son demo1.php

/**

* Desc: 权限控制符的使用,父类, 建立查找关系,拷贝

* User: zyy

* Date: 2019-12-08

* Time: 下午 20:07

*/

class Father{

public $name;

protected $salary;

private $money; //私房钱

public function __construct($name, $salary, $money)

{

$this->name = $name;

$this->salary = $salary;

$this->money = $money;

}

/**

* 获取姓名

*

* @return string

* User: zyy

* Date: 2019-12-08

* Time: 下午 20:09

*/

public function getName()

{

return $this->name;

}

/**

* 获取薪水

*

* @return int

* User: zyy

* Date: 2019-12-08

* Time: 下午 20:10

*/

protected function getSalary()

{

return $this->salary;

}

/**

* 获取钱

*

* @return int

* User: zyy

* Date: 2019-12-08

* Time: 下午 20:10

*/

private function getMoney()

{

return $this->salary;

}

/**

* 获取信息

*

* User: zyy

* Date: 2020-01-10

* Time: 下午 23:42

*/

public function getInfo()

{

// 所有属性在方法内都能访问

echo $this->name . "的薪水一个月" . $this->salary . ",存款" . $this->money;

echo "
";

}

}

/**

* Desc: 子类,可以继承父类非private属性和方法

* User: zyy

* Date: 2019-12-08

* Time: 下午 20:16

*/

class Son extends Father

{

// private $salary; //控制权限必须必父类更松弛, 可以声明为protected 和 public

private $age;

/**

* 获取父类信息

*

* User: zyy

* Date: 2020-01-10

* Time: 下午 23:42

*/

public function getFatherInfo()

{

//子类不能调用父类的属性,可以调用父类的方法获取属性

parent::getName();

parent::getSalary();

// parent::getMoney(); //子类不能调用父类私有方法

// $this->getMoney(); //子类不能继承父类私有方法,私有属性可以继承(通过访问继承的公开方法,即可访问到私有属性)

}

}

//父类

$father1 = new Father('father1', 5000, 100000);

//类内public protected private属性都可以访问

$father1->getInfo();

//类外只能访问 public

echo $father1->name;

// echo $father1->salary; //受保护属性类外不能访问

// echo $father1->money; //私有属性类外不能访问

//子类继承父类

$son1 = new Son('son1', 2000, 0);

//类内public protected private属性都可以访问

$son1->getInfo();

//类外只能访问 public

echo $son1->name;

// echo $son1->salary;//受保护属性类外不能访问

// echo $son1->money;//私有属性类外不能访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值