php面向对象全攻略 (九)访问类型

yizhihongxing

下面是关于“php面向对象全攻略(九)访问类型”的完整攻略:

一、什么是访问类型?

PHP 面向对象编程中,访问类型(Access Modifiers)是用来控制类成员(属性和方法)被访问的级别。PHP 支持 3 种不同的访问类型:

  • public(公共的):公共成员可以在类的内部和外部进行访问。
  • protected(受保护的):受保护成员只能在该类和其子类中进行访问。
  • private(私有的):私有成员只能在该类中进行访问。

二、如何使用访问类型?

访问类型可以通过在类成员前面添加相应的关键字来使用。例如,如果我们想要将一个属性设置为受保护的,我们可以在属性前加上 protected 关键字:

class Person {
    protected $name;
}

同样地,如果我们想要将一个方法设置为私有的,我们可以在方法前加上 private 关键字:

class Person {
    private function getAge() {
        return $this->age;
    }
}

三、访问类型示例

下面是两个访问类型的示例,分别用于演示受保护和私有成员的访问控制级别:

1. 受保护成员示例

class Person {
    protected $name;
    protected function getInfo() {
        return $this->name . " is a person.";
    }
}

class Student extends Person {
    public function __construct($name) {
        $this->name = $name;
    }
    public function studentInfo() {
        return $this->getInfo();
    }
}

$stu = new Student('Tom');
echo $stu->studentInfo();

在上面的示例中,Person 类中的 $name 属性和 getInfo() 方法都被标记为受保护的,并且 Student 类继承了 Person 类。在 Student 类中,我们可以在构造函数中设置 $name 属性,因为 $name 属性被标记为受保护的,所以子类可以访问。studentInfo() 方法调用了 getInfo() 方法,但 getInfo() 方法也被标记为受保护的,但它仍然可以被子类调用。

2. 私有成员示例

class Person {
    private $name;
    private function getInfo() {
        return $this->name . " is a person.";
    }
    public function getPerInfo() {
        return $this->getInfo();
    }
}

class Student extends Person {
    public function __construct($name) {
        $this->name = $name;
    }
}

$stu = new Student('Tom');
echo $stu->getPerInfo();

在上面的示例中,Person 类中的 $name 属性和 getInfo() 方法都被标记为私有的。在 Person 类中,我们定义了一个 getPerInfo() 公共方法,该方法调用了私有的 getInfo() 方法。在 Student 类中,我们创建了一个新的 Student 实例并将其 $name 属性设置为 'Tom'。我们尝试访问 $stu->getPerInfo() 方法,由于该方法访问了 $name 属性和 getInfo() 方法,因此会抛出错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php面向对象全攻略 (九)访问类型 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • PHP中使用数组指针函数操作数组示例

    首先,需要了解什么是数组指针函数。在PHP中,我们可以通过一系列的函数来操作数组指针,这些函数被称为数组指针函数。使用数组指针函数,可以方便地改变数组指针的位置,从而更加灵活地操作数组。 下面,我们通过两个示例来演示如何在PHP中使用数组指针函数操作数组。 示例一:使用 current() 和 next() 函数遍历数组 通常,在PHP中遍历数组的方法是使用…

    PHP 2023年5月26日
    00
  • php使用for语句输出三角形的方法

    以下是PHP使用for语句输出三角形的完整攻略: 1. for语句 for语句是PHP中的循环语句之一,可以让代码块重复执行多次。for语句由三个部分组成: for (初始化表达式; 条件表达式; 递增表达式) { /* 循环体 */ } 其中,初始化表达式在循环开始前执行一次,通常用于定义循环计数器的初始值;条件表达式在每次循环开始前进行判断,如果为真则执…

    PHP 2023年5月26日
    00
  • PHP实现简易计算器功能

    下面我会给你详细讲解如何使用PHP实现简易计算器功能。 1. 创建一个HTML表单 首先,我们需要在HTML中创建一个表单,以便用户输入要计算的数字和操作符。这里我们需要输入两个数字和一个操作符。 <form method="POST" action="calculator.php"> <label …

    PHP 2023年5月23日
    00
  • PHP实现的AES加密、解密封装类与用法示例

    PHP实现的AES加密、解密封装类与用法示例 简介 AES是目前最常用的对称加密算法,其应用范围非常广泛,如数据安全传输、文件加密等。PHP作为一种常用的语言,在实现AES加密、解密时也提供了很好的支持。 本文将介绍如何使用PHP实现AES加解密,并封装成简便的类文件。同时,本文会提供两个用例,让读者更好地了解如何使用该功能库。 实现AES加密、解密 PHP…

    PHP 2023年5月26日
    00
  • 完善版手游导航源码app软件 APP手机软件 应用商城下载类网站布局规整

    demo软件园每日更新资源,请看到最后就能获取你想要的:   1.完善版手游导航源码app软件 APP手机软件 应用商城下载类网站布局规整,利于用户体验 浏览网站看到一款带后台的app软件手游类源码,后台功能强大,界面美观,适用于app软件,手机软件下载,手游类导航网, 其他行业也可以把数据删掉,添加自己的就行了,布局规整,利于用户体验,手工书写DIV+CS…

    PHP 2023年4月17日
    00
  • php输出控制函数和输出函数生成静态页面

    PHP输出控制函数和输出函数可以生成静态页面,具体的攻略如下: 步骤一:开启输出缓存 在 PHP 中,我们可以使用 ob_start() 函数来开启输出缓存。开启输出缓存后,所有的输出将暂时存在缓存中,直到我们显式地将其输出到浏览器或者将其保存为文件。该函数不需要任何参数。 <?php ob_start(); // 开启输出缓存 ?> 步骤二:生…

    PHP 2023年5月26日
    00
  • PHP中的array数组类型分析说明

    下面是针对“PHP中的array数组类型分析说明”的完整攻略: PHP中的array数组类型分析说明 什么是PHP中的array数组 数组是一种数据类型,用于存储多个值。在PHP中,数组也是一种数据类型,用于存储多个值的容器。 PHP中的数组有两种类型,分别是: 索引数组 关联数组 索引数组 索引数组(也称数字数组)是指用整数作为索引的数组。PHP默认的数组…

    PHP 2023年5月26日
    00
  • 微信小程序进入广告实现代码实例

    我们来讲一下“微信小程序进入广告实现代码实例”的完整攻略。 1. 确定广告平台和广告类型 首先,我们需要确定使用的广告平台和广告类型。目前微信小程序支持的广告平台有:腾讯社交广告(原广点通)、优量汇、百度智能小程序广告。而广告类型则分为 Banner 广告、插屏广告、原生自渲染广告等。 2. 在网站后台创建广告位 我们需要在广告平台的后台创建对应类型的广告位…

    PHP 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部