摘要

对于很多JavaScript开发者来说,权限修饰符可能一点概述都没有(现阶段的版本中暂未出现)。但是,做为JavaScript的超级TypeScript中便已弥补了这个缺陷。同样的,PHP语言本身也具备权限修饰符。

虽然很多人可能听说过权限修饰符,但是究竟有何区别可能并不十分了解。今天,笔者就来详细解说一下public、private、protected三者的区别。

对于很多JavaScript开发者来说,权限修饰符可能一点概述都没有(现阶段的版本中暂未出现)。但是,做为JavaScript的超级TypeScript中便已弥补了这个缺陷。同样的,PHP语言本身也具备权限修饰符。

虽然很多人可能听说过权限修饰符,但是究竟有何区别可能并不十分了解。今天,笔者就来详细解说一下public、private、protected三者的区别。

1、public:表示公有的(是大多数语言的默认权限修饰符),被声明为public的成员,能被外部代码访问和操作,相当于“公有财产”。

2、private:表示私有的,被声明为private的成员对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。相当于“私有财产”。

3、protected:表是受保护的,被声明为protected的成员,只允许该类自己和子类进行访问。相当于“遗产”。

说完了区别,对于大部分人来说都会有这样一个疑问——如何使用public、private、protected这三个权限修饰符?

简单来说:构建一个类时,对外提供的调用接口用public,用到的数据变量或者function不是接口的就用private,如果涉及到多个类有了继承关系,子类需要继承或者父类需要访问的,声明为protected。

综上所述,我们可以看出public、private、protected三种权限修饰符的访问控制权限是有高有低的。并且private修饰的成员属性或成员方法访问权限是最低的。实际操作中,我们也是将类中的成员属性全部用private修饰符进行修饰,然后通过construct()方法对成员属性赋值,仅提供公共接口与外部联系。

因此,使用的时候,我们只需要抓住每一个权限修饰符自己的“作用域”便可以灵活搭配。

php三种修饰符,PHP中的权限修饰符 | 萧小寒相关推荐

  1. java数组最大值索引_java中的权限修饰符有哪些?怎么获取数组最大值?

    java作为一门编程语言,由于它的优秀,现在已经成为很多人的首选编程语言.java中关于修饰符和数组的知识点也是十分多的,今天就来为大家介绍一下,java中的权限修饰符有哪些?怎么获取数组最大值?一起 ...

  2. java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)...

    java中数组的三种定义方式 java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组的三种定义方法 * 1.数组类型[] 数组名 ...

  3. python中两个集合的运算并交补_三种方式实现 Python 中的集合的交、并、补运算...

    文章目录 三种方式实现 Python 中的集合的交.并.补运算 一 背景 集合这个概念在我们高中阶段就有所了解,毕业已多年,我们一起回顾一下几个集合相关的基本概念吧? 集合是指具有某种特定性质的具体的 ...

  4. java 三种错误类型 区别_请列举至少三种在java语言中发生“严重错误”的情况...

    [简答题]自已编写一个自定义非整数异常类,来处理一个异常 [填空题]捕获异常时,可以把catch捕获的异常对象( ),使上层try-catch结构继续处理该异常事件;也可以把异常对象转换为其它异常对象 ...

  5. html一般用那种方式定位,使用三种方式定位html中的元素

    使用三种方式定位html中的元素 发布时间:2020-06-06 14:46:00 来源:51CTO 阅读:687 作者:知止内明 1)使用三种方式定位html中的元素 a)通过ID $(" ...

  6. python交并补符号_三种方式实现 Python 中的集合的交、并、补运算-阿里云开发者社区...

    三种方式实现 Python 中的集合的交.并.补运算 一 背景 集合这个概念在我们高中阶段就有所了解,毕业已多年,我们一起回顾一下几个集合相关的基本概念吧? 集合是指具有某种特定性质的具体的或抽象的对 ...

  7. js之删除对象属性的三种方法 判断对象中是否有某一属性的四种方法

    js之删除对象属性的三种方法 & 判断对象中是否有某一属性的四种方法 示例 1.基础版 var a = { id: 18, age: 20, name: "zhangsan" ...

  8. scala 访问修饰符_Scala中的访问修饰符

    scala 访问修饰符 Access modifiers are used in order to restrict the usage of a member function to a class ...

  9. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

最新文章

  1. 【怎样写代码】复杂对象的组装与创建 -- 建造者模式(二):解决方案
  2. MyBatis 三种批量插入方式的比较,我推荐第3个!
  3. 2019年上半年收集到的AI计算机视觉方向干货文章
  4. 支付宝和微信的支付流程图
  5. 第一篇:web之前端之html
  6. 小孩孩子应用题计算机错误,孩子应用题失分的主要原因是什么?家长来看看
  7. python消费kafka逻辑处理导致cpu升高_请教:Python模块KafkaConsumer会被Kerberos的状态影响嘛?...
  8. 四十八、使用Python和Stata完成广西碳酸钙企业的主成分分析和因子分析
  9. JavaScript入门(part2)--JS书写方式及注释
  10. Spring Boot读取peoperties配置及@Value和@ConfigurationProperties区别和联系
  11. RN子组件获取redux数据
  12. [转]Python爬虫html解析工具beautifulSoup在pycharm中安装及失败的解决办法
  13. 英特尔回应苹果换芯:将继续支持老客户,但我的CPU才是最好的
  14. 现代科技概论_现代科技概论课程:力与运动1
  15. EJB的beans们
  16. 海底捞、百果园、大娘水饺凭什么可以疯狂扩张门店?
  17. Javascript项目
  18. 重写弹幕射击游戏的记录
  19. 【Android Camera2】玩转图像数据 -- NV21图像旋转,镜像,转rgba代码分析,性能优化
  20. fastq与fasta文件格式解析

热门文章

  1. python-selenium-webdriver screenshot 截图失败
  2. php mysql 导航制作_超级漂亮网址导航源码,自助链源码(PHP+MYSQL完整版)
  3. java制作仿win7计算器之一计算器的图形界面的设计
  4. 《基于LSTM神经网络的双色球蓝球数字预测》
  5. 我的软件开发中经验教训
  6. 模拟器获取微信小程序pgk然后反编译
  7. 电视网与计算机网的区别是什么意思,网络电视和智能电视有什么区别 ?哪个好?...
  8. hadoop基准测试总结_李孟_新浪博客
  9. 谷歌seo自建博客做外链有用吗?谷歌外链怎么做?
  10. moxa串口服务器型号,moxa串口服务器产品配置说明