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

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

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

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

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

首先,我们来明确

类是什么

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

然后,我们

怎么去做到上面的需求

建立一个类

将代码放到类方法中

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

最终

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

这就是面向对象的用处。

补充:

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

@娃娃脾气 谢谢你。

你的回答让我重新认识了私有的含义–使用一个类的时候可以

直接略过私有方法

之前只知道有私有方法只能被类自身调用这么一回事,现在来看就是为了告诉使用这个类的人,这些打了私有标记的方法你不能用。同样的一个东西也可以理解成,我们在调用类的时候

只需要关心共有方法和受保护方法

就行了。从我的经验来看,私有的方法一般都是在给公有方法解耦的时候产生的。

到这里,回看之前的自己,发现自己钻进了一个牛角尖了,不能调用私有和只能调用公有和受保护这里面只有细微的差别。

那么问题又来了,受保护方法使用的场景是什么呢?

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值