PHP中类的封装性是怎么体现出来的?

发布于 2022-09-04 06:00:56 字数 162 浏览 20 评论 0

从语言的功能实现角度来讲public、private、protected用来标记属性或者方法在相关类和他们的对象中的访问权限。

在其他方面,它的封装性是怎么体现的呢?

封装性是在构建项目的什么阶段、什么地方、以怎样的方式用来干什么?

应该对封装性建立什么样的认识?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

开始看清了 2022-09-11 06:00:56

首先,我们来明确类是什么

我们将代码抽象成类。是为了让它能简单,更直观。需要使用这段代码的时候,能一眼就知道该怎么用。该怎么继承来扩展这段代码的功能。

然后,我们怎么去做到上面的需求

  • 建立一个类

  • 将代码放到类方法中

  • 声明方法的访问权限,让调用者知道自己能调用哪些方法; 让扩展类知道哪些方法和成员可以被重写。讲他们用不到的方法设为private以隐藏与他们无关的细节。

最终

我们就成功的将代码的复杂度降低了。

这就是面向对象的用处。

补充:

其实,对于php来说,你如果设置为private,我想调用你这个,我可以去改你的代码的,把你的private改成public我就可以用了。当然,我们忽略这部分,我们设置一个private方法,这个方法比如说是查询学生性别的方法,然后另外一个public的查询学生信息的方法调用这个查询学生性别的方法。但是,我不希望在其他地方可以直接查询学生的性别,我就需要private。

对岸观火 2022-09-11 06:00:56

@娃娃脾气 谢谢你。
你的回答让我重新认识了私有的含义--使用一个类的时候可以直接略过私有方法
之前只知道有私有方法只能被类自身调用这么一回事,现在来看就是为了告诉使用这个类的人,这些打了私有标记的方法你不能用。同样的一个东西也可以理解成,我们在调用类的时候只需要关心共有方法和受保护方法就行了。从我的经验来看,私有的方法一般都是在给公有方法解耦的时候产生的。
到这里,回看之前的自己,发现自己钻进了一个牛角尖了,不能调用私有和只能调用公有和受保护这里面只有细微的差别。
那么问题又来了,受保护方法使用的场景是什么呢?

一场春暖 2022-09-11 06:00:56

我目前比较习惯的就是写一个类然后将一个功能按照步骤拆分,而且要把方法写的通用一点,这样代码的复用率也会高不少

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文