Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我使用"protected“而不是"private",因为有一天我可能需要扩展我的类,这是不是很糟糕?

我使用"protected“而不是"private",因为有一天我可能需要扩展我的类,这是不是很糟糕?
EN

Stack Overflow用户
提问于 2011-02-09 11:02:03
回答 3查看 283关注 0票数 2

我注意到我的代码中有一个模式。我通常选择protected而不是private作为类中“隐藏”方法和字段的默认访问标签。我之所以这样做,主要是因为它为类的用户隐藏了有关类功能的细节,同时仍然为将来的扩展留出了空间。这个编码“策略”有什么缺点吗?

谢谢

通努兹

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-09 11:13:13

一般来说,永远不要做某事,因为有一天你可能不得不实现或做yadayada (这只会让生活变得复杂和痛苦。)。如果你有一个只应该在它的类中使用的方法,那么就让它成为私有的。如果你曾经不得不通过继承来扩展它,那就重新考虑一下哪些函数可能必须从下面访问。通常,我无论如何都会将方法抽象到我的超类中,所以我无论如何都要考虑在什么时候、什么地方需要什么。

忽略我所说的关于私有方法的一个很好的理由是,如果你想测试你的内部函数,比如在单元测试中。在C#中,您可以允许另一个项目从外部查看您的受保护方法,以便您可以针对它们编写测试。

票数 4
EN

Stack Overflow用户

发布于 2011-02-09 11:17:57

由于封装的原因,您应该选择私有。在这个问题上,我更喜欢保守的方法,我更喜欢私有访问修饰符,如果我确实需要一些扩展,那么我会选择保护访问修饰符。选择受保护的修饰符而不是私有修饰符不是一种好的做法。

票数 2
EN

Stack Overflow用户

发布于 2011-02-09 11:06:13

我不认为这有什么缺点。

私有变量是仅对belong.

  • Protected变量所属的类可见的变量,是仅对其所属的类以及任何子类可见的变量。

所以你的代码应该没问题。这并没有什么“坏”。如果您可能扩展了您的类,那么protected属性肯定是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4943966

复制
相关文章
JQuery Div scrollTop ScrollHeight
jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop、scrollLeft、scrollHeight。其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它。
全栈程序员站长
2022/09/15
2.8K0
获取页面滚动距离pageYOffset、scrollY、scrollTop
在获取页面滚动距离的高度时候,往往有不同的获取方式,而且不同的属性浏览器支持稍有差别:
用户1349575
2022/02/13
3.8K0
html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…
浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight
全栈程序员站长
2022/09/15
2.3K0
html 滚动条 scrolltop scrollheight,浅谈JavaScript中scrollTop、scrollHeight、offsetTop、offsetHeight…
滚动条三要素scrollTop clientHeight scrollHeight
插件 https://github.com/inuyaksa/jquery.nicescroll
全栈程序员站长
2022/09/15
1.3K0
jQuery第二十一篇 scrollTop
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .scroll{ width: 100px; height: 200px; border: 1p
贵哥的编程之路
2020/10/28
2910
jQuery scroll(滚动)延迟加载
延迟加载 $(window).scroll(function(){ var scrollHeight = $(document).height(); //文档高度 var scrollTop = $(this).scrollTop(); //滚动条卷去高度 var windowHeight = $(this).height(); // 窗口高度 // console.log(scrollHeight, scrollTop, windowHeight) if(scrol
deepcc
2018/05/16
9.1K0
liMarquee – jQuery无缝滚动插件
liMarquee 是一款基于 jQuery 的无缝滚动插件,类似于 HTML 的 marquee 标签,但比 marquee 更强大。它可以应用于任何 Web 元素,包括文字、图像、表格、表单等元素,同时它可以设置不同的滚动方向(左右上下)、滚动速度、鼠标悬停暂停、鼠标拖动、加载 xml 文件等等。
kirin
2021/01/29
8.9K0
jquery横向滚动条
此代码献给wendy 由于工作太忙,下次再整理成插件调用,先记录下来,欢迎同学们提意见。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" conten
deepcc
2018/05/16
7K0
jquery 页面滚动事件 scroll()
在没有任何元素的情况下,document的宽高是与window的宽高一致的,那么如果给document加入一些元素呢?
Devops海洋的渔夫
2019/06/02
10.1K0
jquery无缝隙连续滚动代码
通常我们在做网页布局的时候,客户为要求在某个地方实现图片滚动或文字滚动的展示,这就是所谓的跑马灯效果,在以前蓝叶用html标签marquee来做跑马灯效果,marquee不是很完美,如果一个层的宽度或高度过长,那么中间会用空隙显得很不美观;现在蓝叶用jquery无缝隙连续滚动代码来实现跑马灯效果,这段jquery无缝隙连续滚动代码可以自由设置,向左、向右、向上、向下的滚动效果,如果你需要就把以下代码复制到你需要的地方,稍微进行修改即可使用了,这是一段jquery代码,需要jquery库的支持才行。
李维亮
2021/07/09
6.8K0
jquery.countup实现数字滚动
效果图 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compa
明知山
2020/09/03
5.4K0
SCrollTOP scrollHeight
jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop、scrollLeft、scrollHeight。其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它。
全栈程序员站长
2022/09/15
2.3K0
SCrollTOP scrollHeight
jQuery实现消息滚动播放的效果
场景需求: 在大屏幕上,消息会进行一个实时滚动播报的效果,将现有的内容进行一个来回滚动的播放~~
王小婷
2021/04/04
4.9K0
jquery 滚轮插件 示例 - 整屏滚动
要做出这个效果,其实不用说,首先要把这五个div的基本HTML+CSS给写出来先。
Devops海洋的渔夫
2019/05/30
4.6K0
jQuery滚动到页面指定位置
        在前端的页面开发中,经常会碰到页面跳转问题,这个跳转指的是页面内部跳转到指定位置,通常是在有滚动条的情况下,网上介绍的方法很多,本文主要是介绍jQuery函数中的一个小trick,.focus()函数。
Tyan
2022/05/09
7K0
jQuery滚动到页面指定位置
jQuery 尺寸、位置操作
​ jQuery中分别为我们提供了两套快速获取和设置元素尺寸和位置的API,方便易用,内容如下。
梨涡浅笑
2022/05/08
1.1K0
jQuery 尺寸、位置操作
scrollTop()方法
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说scrollTop()方法,希望能够帮助大家进步!!!
Java架构师必看
2022/09/26
1.3K0
scrollTop()方法
Vue 滚动条定位问题
作者:matrix 被围观: 9,147 次 发布时间:2018-06-28 分类:零零星星 | 3 条评论 »
HHTjim 部落格
2022/09/26
9110
Vue 滚动条定位问题
scrollIntoView()方法导致整个页面产生偏移
今天在做页面UI改版的时候发现,我之前使用的是dom.scrollIntoView(); 使得点击右侧题目编号的时候,让左侧题目滚动到页面可视区域。
Daotin
2021/01/21
4.3K0
js常用事件整理—兼容所有浏览器
1.鼠标滚动事件。 说明:返回值 大于0向上滚动,小于0向下滚动。 兼容型:所有浏览器。 代码: /*********************** * 函数:鼠标滚动方向 * 参数:event * 返回:滚轮方向[向上(大于0)、向下(小于0)] *************************/ var scrollFunc = function(e) { var direct = 0; e = e || window.event; if (e.wheelDelta) {//
磊哥
2018/05/08
2.2K0

相似问题

jQuery滚动过远

10

ScrollTop - jQuery不滚动

21

jQuery scrollTop不滚动

40

jQuery .scrollTop没有正确滚动

20

jQuery - scrollTop命令未滚动

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文