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

wordpress自适应吸附菜单重庆网站建设及优化

wordpress自适应吸附菜单,重庆网站建设及优化,微信加精准客源软件,外贸怎样做网站ADT与OOP 1. ADT#xff08;Abstract Data Tyoe#xff09;操作的四种类型 ADT操作主要分为四种#xff1a; 构造器#xff08;creators#xff09;#xff1a;创造一个新的对象 生产器#xff08;producers#xff09;#xff1a;从一个已有的对象中生产出一个新的…ADT与OOP 1. ADTAbstract Data Tyoe操作的四种类型 ADT操作主要分为四种 构造器creators创造一个新的对象 生产器producers从一个已有的对象中生产出一个新的对象 观察器observers从一个抽象的对象类型中返回一个不同类型的对象 很简单的栗子就是各种getXX方法…… 变值器mutators改变对象属性的方法。通常返回void如果返回值为void则必然意味着他改变了对象的某些内部状态也可能返回非空类型 其中构造器和生产器可能会有些混淆对于构造器而言可能为实现的构造函数或者静态函数等而对于生产器就是从现有的对象出发产生一个新的对象。下面几个例子可以帮助理解一下 2. 表示独立性representation independence) 表示独立性客户端client使用ADT时无需考虑其内部是如何实现的ADT内部表示的变化不应影响外部的spec和客户端。 说白了就是不要客户端知道你代码的具体逻辑他们只需要知道代码的输入应该是什么给了合法的输入输出是什么就够了。 另外注意除非ADT操作指明了具体的前置后置条件否则不能改变ADT的内部表示——spec规定了客户端域代码实现者implementer之间的契约。 当然说是不清楚的还要给个栗子对吧 可以看出在java doc中并没有说明代码内部是如何实现的具体实现在这里不重要~客户只需要知道这段程序做什么的合法的输入会得到怎样的输出就足够了。 不变量Invariants、表示泄漏 不变量invariants 在任何时候都是正确的。应该由ADT来负责其不变量与客户端的人和也行为无关。生成一个‘person’对象总不能让客户端来设置person有两条腿吧客户设为三条腿还好万一设置成四五六七八条腿呢多可怕 为什么需要不变量保持程序的正确性容易发现错误。 再多的口水也不及一个栗子呀 首先这个是代码 那么让我们看我们优秀的客户端是如何使用的 天啊这个混蛋为什么改了名字没错这条推特被人盗了……盗图气不气 这也就引出了以下的概念 表示泄漏representation exposure 其将代码内部的数据泄露给了客户端这样不仅影响不变性也影响了表示独立性因为客户知道了你的代码内部的实现那么他就可以对你的代码进行一些你不希望看到的操作。诶呀~真可怕当然官方的解释是无法在不影响客户端的情况下改变其内部表示。晦涩…… 或许你说那我把变量修饰为private然后在加上final这样变不了了吧。然而……呵呵哒 我们还是看个例子吧 注意红线部分此处Date是一个mutable的类型这样用确实对于该成员变量的引用不会改变。然而对于它内部的值呢 看此时的快照图 就算你是final修饰又如何骨子里善变该变还是要变的。所以对于这种mutable变量防御式拷贝也就起了重要的作用 这样就万事大吉啦另外构造方法处也要记得修改。当然在上一节已经详细说明了就不再赘余了…… 表示不变量RI、抽象函数AF 首先先来介绍一下表示空间R与抽象空间A 表示空间the space of representation values表示值rep 值的空间由实际实现实体的值组成。一般情况下ADT的表示比较简单有些时候也会用比较复杂的表示。 抽象空间the space of abstract values抽象值构成的空间用户看到和使用的值。 ADT实现者关注表示空间R用户关注抽象空间A。 注意R-A必须是满射但可以不是单射。 抽象函数R与A之间的映射关系的函数。 表示不变量RI某个具体的“表示”是否是“合法的”也可以把RI看做所有表示值的一个子集包含了所有合法的表示值或者看成描述了什么是“合法”的表示值的一个条件。 另外不同的内部表示需要设计不同的AF和RI选择某种特定的表示方式R进而指定某个子集是“合法”得RI并为该子集中的每个值做出一个“解释”AF——即如何映射到抽象空间中的值。 即使是同样的R、同样的RI也可能有不同的AF即“解释不同”。 设计ADT步骤 选择表示空间R与抽象空间A 给出RI——合法的表示值 如何解释合法的表示值——映射AF 同样给出再多定义不如一道例题收获的多 来解释一下这道例题 第一个RIs序列中的元素有小到大排序而且不允许相同 第二个RIs的长度为奇数s序列中的元素有小到大排序但允许相同 第三个RIs序列中的元素不允许相同 第四个RInull 现来看add方法其在s后面添加了一个c字符那么根据c的不同那么分别就不支持了第一二三个RI。 然后来看remove方法注意这个方法中只删除了第一个c对于之后c不删除所以如果s中存在重复字符那么就不满足remove的spec。所以其只支持一三。 再来一个栗子 乍一看好像四个都可以但其实注意该方法的实现这里遍历操作是一次扫描两个字符所以当s为奇数个字符时会出现空指针异常所以只能选第二个。 总结 不同的内部表示需要设计不同的AF与RI。 选择某种特定的表示方式R进而指定某个子集是合法的RI并为该子集中的每个值做出解释”AF“即如何映射到抽象空间中的值。 同样的R、同样的RI也可能有这不同的AF即解释不同。 ———————————————— 版权声明本文为CSDN博主「琴弦上的南柯合浦」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/qq_37549266/article/details/80707151
http://www.dnsts.com.cn/news/209932.html

相关文章:

  • 如何开 网站建设公司网站建设商城
  • 淘宝网站都是怎么做的吗优化清理大师
  • 东莞网站开发哪里找做淘宝客找商品网站有哪些
  • 石家庄网站推广服务平台作风建设提升年活动网站
  • 手机网站建设czyzjseo怎么发文章 seo发布工具
  • 网站集约建设原因美食网站策划书范文
  • 手机网站制作时应该注意的问题创意产品
  • 电脑版 做网站尺寸公司做网站的目的
  • 怎么免费建网站深圳网站建设怎样快速
  • 蓟县集团网站建设wordpress移除工具栏
  • 杭州网站建设unohacha服务公司有哪些
  • 企业电器网站建设方案郑州网络运营平台有哪些
  • 网站优化目录所有浏览器大全图片
  • 做烘培的网站网站注册流程和费用
  • 沈阳免费做网站搜索引擎seo优化
  • 成都水高新区建设局官方网站在大学做网站
  • 军事信息化建设网站莆田网站建设平台
  • 电子商务网站开发参考文献深圳龙华医院
  • 蓝色大气网站源码温江做网站
  • 网站加载动画效果loading网站源码平台
  • 北京做网站好的公司北京到广州航班时刻表
  • 手机网站域名注册昆明网站优化排名推广
  • 针对网站开发软件 代替手动移动端响应式网站怎么做
  • 国外wordpress主题站云南安宁做网站的公司
  • 杭州 城西 做网站2022年域名申请时间
  • 办公家具网站模版工业设计本科生作品集
  • 中小企业建网站注意成都公司注册价格
  • 网站制作咨询电话wordpress企业外贸主题
  • 公司网站注册要多少钱wordpress做电影网站
  • 门户网站后台建设模块应持续抓好二级网站的建设工作