0

0

php面向对象之数据隐藏

巴扎黑

巴扎黑

发布时间:2017-04-18 13:29:25

|

2907人浏览过

|

来源于php中文网

原创

什么是数据隐藏?

看到这个有的人会觉得挺不理解的。在前面的文章中,介绍类的时候,我们说定义变量用的关键词是public,但是不止这一个,还有public、private、protected、static和final,这些关键词是用来限定类成员,包括变量和方法的访问权限的。接下来,我们就先讲解前三个关键词的用法。

友情提示:

对成员变量和成员方法进行限定在关键字的使用上都是一样的。所以这里我们只以成员变量为例说明这几种关键字的不同用法。对于成员方法同样适用。

下面,我们来具体介绍这几个关键词:

立即学习PHP免费学习笔记(深入)”;

(1)public

中文翻译是公共的。顾名思义,就是公开的,不需要隐藏的数据信息。可以在程序中的任何位置(类内、类外)被其他的类和对象调用。子类可以继承和使用父类中所有的公共成员。

在讲解本章之前,我们定义变量和方法的声明都是用public,而所有的方法在默认状态下也是public,所以对变量和方法的调用显得十分混乱。为了解决这个情况,我们将要讲述第二个关键字private。

因为之前都是用的public,所以这里我们就不举例子了。

(2)private

中文翻译为私人的,私有的。被private修饰的变量和方法,只能在所在的类的内部被调用和修改,不可以在类的外部被访问。在子类中也不可以。

citySHOP多用户商城系统
citySHOP多用户商城系统

citySHOP是一款集CMS、网店、商品、分类信息、论坛等为一体的城市多用户商城系统,已完美整合目前流行的Discuz! 6.0论坛,采用最新的5.0版PHP+MYSQL技术。面向对象的数据库连接机制,缓存及80%静态化处理,使它能最大程度减轻服务器负担,为您节约建设成本。多级店铺区分及联盟商户地图标注,实体店与虚拟完美结合。个性化的店铺系统,会员后台一体化管理。后台登陆初始网站密匙:LOVES

下载

private实例展示:

 name = $name;
   }
   public function getName(){
       return $this ->name;
   }
}
class Preson1 extends Preson{
}
$preson = new Preson();
//正确的使用方式
echo '我的名字叫';
$preson ->setName("布里茨");    //通过访问成员方法进行赋值
echo $preson -> getName();      //在通过访问成员方法进行访问
//错误的使用方式
echo '我的名字叫';
echo Preson :: $name;

上述实例中,对私有变量$name的修改与访问,只能通过调用成员方法来实现。如果直接调用,就会发生错误。

(3)protected

中文翻译为保护的意思。private关键字可以将数据完全隐藏,除了在本类中,别的地方都不可以调用,子类中也不可以。但是有些情况是部分变量需要在子类中可以调用,但是对另外的类来说,还是要做到封装。这个时候就要用到我们的protected关键字了。

用protected修饰的类成员,可以在本类和子类中被调用,但是在其他地方不能被调用。

protected的实例展示:

';
       echo '我的名字是:' . $this ->name;
       echo '
'; } } $preson = new Preson1(); $preson -> showName(); echo '你调用错了,所以下面不报错算我输:'; $preson -> name = '德莱文';

上述实例中,先用关键词protected声明一个变量,然后再子类的方法中调用一次,最后在类外直接调用一次,结果一目了然。

提示:

虽然在PHP中没有对修饰变量的关键字做强制性的规定和要求,但从面相对象的特征和设计方面考虑,一般使用private和protected关键字来修饰变量,以防止变量在类外被直接修改和调用。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

32

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

23

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

16

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

6

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

268

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

195

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

170

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

85

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 10.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号