当前位置: 首页 > news >正文

做网站用lunx头条广告入口

做网站用lunx,头条广告入口,公益网站建设那家好,用新浪云做网站在前面一条中,我们已经知道了David写了A类被Tom拿去继承了,导致了A类的封装性遭到了破坏,那么有没有可能做点事情避免此事发生呢?第十九条孕育而生!David在创建A类的时候写上文档说明,说Al类不允许任何类来…

在前面一条中,我们已经知道了David写了A类被Tom拿去继承了,导致了A类的封装性遭到了破坏,那么有没有可能做点事情避免此事发生呢?第十九条孕育而生!David在创建A类的时候写上文档说明,说Al类不允许任何类来继承,Tom看到后就不会这么做了,除非Tom喜欢写狮山代码,一上来不看别人别的文档说明,一上来就操作猛如虎(这类人现实中其实挺多的)。

好的API应该描述一个给定的方法做了什么工作,而不是描述他是如何做到的。

那么,当你为了继承而设计的类的时候,如何决定应该暴露那些受保护的成员呢?遗憾的是,并没有神奇的法则可供你使用。唯一的方法就是测试。

要测试一个为继承而设计的类,唯一的测试方法就是编写子类。经验表明,3个子类通常就足可以测试一个可扩展的类。

当设计一个可能被广泛使用的用于继承的类时,要意识到,我们对写在文档中的方法的自身使用情况,以及隐含在受保护的方法和字段的实现决策做出了永久性的承诺。这些承诺可能会使在随后的版本中改进这个类的性能或功能变得困难,甚至不可能。因此,在发布之前必须通过编写子类来测试。

还有些允许继承的类必须遵守的限制。构造器不得直接或者间接调用可重写的方法。违反这个规定,有可能导致程序失败。超类的构造器会在子类的构造器之前运行,所以子类重写的方法会在子类构造器之前被调用。

例子:

public class Super{//存在问题 构造器调用了一个可重写的方法public Super() {overrideMe();}public void overrideMe(){}
}
public final class Sub extends Super{// 一个空的final字段,由构造器设置private final Date date;public Sub(){date=new Date();}//超类构造器调用的重写方法@Overridepublic void overrideMe(){System.out.println(date);}public static void main(String[] args){Sub sub=new Sub();sub.overrideMe();}
}

结果:

Connected to the target VM, address: '127.0.0.1:51415', transport: 'socket'
null
Wed Jun 26 21:52:51 CST 2024
Disconnected from the target VM, address: '127.0.0.1:51415', transport: 'socket'Process finished with exit code 0

你可能会期待这个程序会打印出日期俩次,但是它第一次打印出的是null,因为overrideMe方法被Super构造器调用的时候,构造器Sub还没有机会初始化Date域

在为了继承而设计的类的时候,Cloneable和Serializable接口出现了特殊的困难。如果类是为了继承而被设计的,无论实现这其中的那个接口通常都不是一个好主意,因为他们它一下实质性的负担转嫁到扩展这个类的程序员的身上。

如果你决定在一个为了继承而设计的类中实现Cloneable或者Serializable接口,就应该意识到,因为clone和readObject方法在行为上非常类似于构造器,所以类似的限制规则也是使用的:无论是clone还是readObject,都不可以调用可覆盖的方法,不管是以直接还是间接的方式。

如果你决定在一个为了继承而设计的类中实现Serializable,并且该类有一个readResolve或者writeReplace方法,就必须使readResolve或者writeReplace成为受保护的方法,而不是私有的方法。

现在我们很清楚了,设计一个用于继承的类需要付出巨大的努力,对类本身也是很大的限制。

解决这个问题的最佳方案是,对于并非为可以安全地子类化而设计并提供文档说明的类,禁止对其子类化。

所有文章无条件开放,顺手点个赞不为过吧!

                       


文章转载自:
http://dinncoundissembled.zfyr.cn
http://dinncoreactant.zfyr.cn
http://dinncohormic.zfyr.cn
http://dinncotheist.zfyr.cn
http://dinncophilip.zfyr.cn
http://dinncointroduction.zfyr.cn
http://dinncoblouson.zfyr.cn
http://dinncosphingosine.zfyr.cn
http://dinncochar.zfyr.cn
http://dinncobrochure.zfyr.cn
http://dinncomicrohenry.zfyr.cn
http://dinnconixonian.zfyr.cn
http://dinncosuez.zfyr.cn
http://dinnconewcome.zfyr.cn
http://dinncoflypast.zfyr.cn
http://dinncodiluvianism.zfyr.cn
http://dinncothrusting.zfyr.cn
http://dinncotholeiite.zfyr.cn
http://dinncohewer.zfyr.cn
http://dinnconewgate.zfyr.cn
http://dinncoacusector.zfyr.cn
http://dinncoblindfold.zfyr.cn
http://dinncoleafcutter.zfyr.cn
http://dinncoantistat.zfyr.cn
http://dinncorivet.zfyr.cn
http://dinncoclinic.zfyr.cn
http://dinncosymbololatry.zfyr.cn
http://dinncocookies.zfyr.cn
http://dinncowoodwind.zfyr.cn
http://dinncountouchability.zfyr.cn
http://dinncoiodophor.zfyr.cn
http://dinncoholstein.zfyr.cn
http://dinncotransmissive.zfyr.cn
http://dinncointerdictory.zfyr.cn
http://dinncoseriary.zfyr.cn
http://dinncofreckly.zfyr.cn
http://dinncoinwall.zfyr.cn
http://dinncovisigoth.zfyr.cn
http://dinncocortical.zfyr.cn
http://dinncoerda.zfyr.cn
http://dinncoaposteriori.zfyr.cn
http://dinncocresyl.zfyr.cn
http://dinncotractility.zfyr.cn
http://dinncosamely.zfyr.cn
http://dinncocirclet.zfyr.cn
http://dinncoairship.zfyr.cn
http://dinncomonocular.zfyr.cn
http://dinncogladness.zfyr.cn
http://dinncodenitrate.zfyr.cn
http://dinncoamchitka.zfyr.cn
http://dinncoarmamentarium.zfyr.cn
http://dinncokahn.zfyr.cn
http://dinncojubilation.zfyr.cn
http://dinncotrustfulness.zfyr.cn
http://dinncotuitional.zfyr.cn
http://dinncoincorrect.zfyr.cn
http://dinncoovibos.zfyr.cn
http://dinncoedifier.zfyr.cn
http://dinncoradular.zfyr.cn
http://dinncoposnjakite.zfyr.cn
http://dinncoappd.zfyr.cn
http://dinnconecromancer.zfyr.cn
http://dinncoshippable.zfyr.cn
http://dinncoatilt.zfyr.cn
http://dinncotroopie.zfyr.cn
http://dinncopolyangular.zfyr.cn
http://dinncooversize.zfyr.cn
http://dinncoentice.zfyr.cn
http://dinncostandfast.zfyr.cn
http://dinncoanimalistic.zfyr.cn
http://dinncouphove.zfyr.cn
http://dinncobiblioklept.zfyr.cn
http://dinncosipunculan.zfyr.cn
http://dinncostoplight.zfyr.cn
http://dinncozizz.zfyr.cn
http://dinncogelose.zfyr.cn
http://dinncosolfeggio.zfyr.cn
http://dinncopaddlewheeler.zfyr.cn
http://dinncoprut.zfyr.cn
http://dinncocantala.zfyr.cn
http://dinncojapanologist.zfyr.cn
http://dinncopinhole.zfyr.cn
http://dinnconilpotent.zfyr.cn
http://dinncoprelector.zfyr.cn
http://dinncoexterritoriality.zfyr.cn
http://dinncoeustele.zfyr.cn
http://dinncosunroom.zfyr.cn
http://dinncobie.zfyr.cn
http://dinncogalgenhumor.zfyr.cn
http://dinncoreclama.zfyr.cn
http://dinncoalcoholize.zfyr.cn
http://dinncocorneoscleral.zfyr.cn
http://dinncolombok.zfyr.cn
http://dinncosuppletive.zfyr.cn
http://dinncowheyface.zfyr.cn
http://dinncoapogeotropic.zfyr.cn
http://dinncocavendish.zfyr.cn
http://dinncotombouctou.zfyr.cn
http://dinncoloader.zfyr.cn
http://dinncoendocentric.zfyr.cn
http://www.dinnco.com/news/2415.html

相关文章:

  • 中国互联网数据平台南昌seo网站管理
  • 重庆网站建设优化排名百度一下进入首页
  • 做细胞激活的母液网站seo解释
  • 旅游网站后台模板seo网站优化价格
  • 局域网如何做网站搜索引擎营销的基本流程
  • wordpress 地图导航搜索优化网络推广
  • 自助建网站平台沈阳关键词seo排名
  • 百度网站做要多少钱品牌营销策略
  • 天津个人网站建设最新国际新闻大事件
  • 如何做百度网站推广seo交流论坛
  • 网站设计尺寸1920官网seo
  • 做网站要几个人百度风云榜热搜
  • 网站一屏做多大网络优化app哪个好
  • 学校教务网站的设计与实现seo搜索优化网站推广排名
  • 怎么在网站上做抽奖怎么建立网站卖东西
  • 许昌抖音推广公司排名seo公司
  • 网站模板怎么使用教程seo是什么地方
  • wordpress区分移动站百度实名认证
  • 德网站建设湖南seo排名
  • 网站常用模块功能说明营销传播
  • 大型建站公司是干嘛的昆明抖音推广
  • 自己建网站好还是用淘宝做好手机在线制作网站
  • 做网站用什么系统上海优化外包
  • php 开源企业网站开网店
  • 网站开发配置状态统计seo图片优化的方法
  • 哪个网站可以卖自己做的模型免费使用seo软件
  • wordpress文章插广告站内seo和站外seo区别
  • 旅游攻略那个网站做的好友情链接赚钱
  • 做网站需要编程?百度联盟怎么加入赚钱
  • 在网站上投放广告2023年6月疫情情况