首页> 基础笔记 >PHP基础学习 >面向对象 面向对象
PHP面向对象访问类型控制private 、protected、public(默认的)
作者:小萝卜 2019-09-01 【 PHP 面向对象 】 浏览 1241
简介访问类型控制private 、protected、public(默认的)
访问类型控制private 、protected、public(默认的)
访问权限:
private protected public(默认的)
--------------------------------------------------------------------------
在同一类中: 可以 可以 可以
类的子类中: X 可以 可以
其他外部类中: X X 可以
实例1:
<?php
//声明一个类作为父类使用,将它的成员都声明为私有的
class MyClass {
private $var1 = 100; //声明一个私有的成员属性并给初值为100
//声明一个成员方法使用private关键字设置为私有的
private function printHello() {
echo "hello<br>"; //在方法中只有一条输出语句作为测试使用
}
}
//声明一个MyClass类的子类试图访问父类中的私有成员
class MyClass2 extends MyClass {
//在类中声明一个公有方法,访问父类中的私有成员
function useProperty() {
echo "输出从父类继承过来的成员属性值".$this->var1."<br>"; //访问父类中的私有属性
$this->printHello(); //访问父类中的私有方法
}
}
$subObj = new MyClass2(); //初始化出子类对象
$subObj->useProperty(); //调用子类对象中的方法实现对父类私有成员的访问 结果报错
实例2:
<?php
//声明一个类作为父类使用,将它的成员都声明为保护的
class MyClass {
protected $var1=100; //声明一个保护的成员属性并给初值为100
protected function printHello() { //声明一个成员方法使用protected关键字设置为保护的
echo "hello<br>"; //在方法中只有一条输出语句作为测试使用
}
}
//声明一个MyClass类的子类试图访问父类中的保护成员
class MyClass2 extends MyClass {
//在类中声明一个公有方法,访问父类中的保护成员
function useProperty() {
echo "输出从父类继承过来的成员属性值".$this->var1."<br>"; //访问父类中受保护的属性
$this->printHello(); //访问父类中受保护的方法
}
}
$subObj = new MyClass2(); //初始化出子类对象
$subObj->useProperty(); //调用子类对象中的方法实现对父类保护的成员访问
echo $subObj->var1; //试图访问类中受保护的成员,结果出错
很赞哦! (0)
下一篇:PHP面向对象类继承的应用