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

好的建站软件绵阳医院网站建设

好的建站软件,绵阳医院网站建设,大学生创新创业网站开发,网站建设竞争大吗文章目录抽象类的理解接口的理解区别分析演示案例总结参考抽象类的理解 动物就是对某类事物的普遍性、共同性进行抽取后得到的用来反映这类事物本质的概念。 动物被定义为靠摄取有机物(植物、动物或微生物#xff09;来获得营养而不能完成无机物到有机物转化过程的能够对环境… 文章目录抽象类的理解接口的理解区别分析演示案例总结参考抽象类的理解 动物就是对某类事物的普遍性、共同性进行抽取后得到的用来反映这类事物本质的概念。 动物被定义为靠摄取有机物(植物、动物或微生物来获得营养而不能完成无机物到有机物转化过程的能够对环境作出反应并移动的生物。 动物其实是对一大类事物进行抽象得到的概念这种概念还是比较笼统的那么在 Java 语言中则将动物这种事物抽象成一个抽象类即声明定义一个抽象类来描述动物这种事物 猫是对某类具体的事物进行抽象得到的具体概念那么在 Java 语言中则将猫这种事物抽象成一个具体类即声明定义一个具体类来描述猫这类具体的事物 接口的理解 行为是对各种事物表现出来的外表活动进行抽象得到的概念这种概念同样是笼统的。就算是更具体的概念“飞行”其实对于不同种的事物而言“飞行”的具体内容也是有很大区别的。例如人类的飞行是通过滑翔伞或者喷气式飞行设备鸟的飞行则是通过自身的翅膀。所以在 Java 语言中适合将某类事物的各种行为/动作抽象成一个接口声明定义一个接口纯抽象类来描述各种事物的行为/动作。 在软件中接口是一种规范标准/约定/协议接口可以约束类的行为接口是一些方法特征的集合但是没有方法的实现接口其实上也可以看做是一个特殊的抽象类但是两者的设计理念完全不同抽象类有利于代码复用接口利于代码的扩展和维护。 接口通过抽象方法来描述一组行为规范 接口interface不是一个类它是抽象方法的集合。一个类实现一个接口从而继承和实现接口的抽象方法。 区别分析 抽象类是对一种事物的抽象而接口是对行为的抽象。抽象类是对某种事物整体进行抽象包括属性、行为但是接口只是对事物的某些行为进行抽象。 类描述对象的属性和行为。接口仅仅约定了事物的行为。 举个简单的例子飞机和鸟是不同类的事物但是它们都有一个共性就是都会飞。那么在设计的时候可以将飞机设计为一个类 Airplane将鸟设计为一个抽象类 Bird但是不能将“飞行”这个特性也设计为类因此它只是一个行为特性并不是对一类事物的抽象描述。此时可以将“飞行”设计为一个接口 Fly包含方法 fly()然后 Airplane 和 Bird 分别根据自己的需要实现 Fly 这个接口。至于有不同种类的飞机比如战斗机、民用飞机等直接继承 Airplane 即可对于鸟也是类似的不同种类的鸟直接继承 Bird 类即可。从这里可以看出继承是一个 是不是的关系而接口实现则是 有没有的关系。继承解决是不是的问题接口解决“有没有”的问题。 比如某种生物如果属于鸟类那么就是继承 bird这种生物是否有“飞行”这种特点呢能飞行则可以实现这个接口 Fly不能飞行就不实现这个接口。 演示案例 门和警报的例子门都有 open() 和 close() 两个动作此时我们可以通过抽象类或者接口来声明描述这两个抽象概念。 抽象类 abstract class Door {public abstract void open();public abstract void close(); }接口 interface Door {public abstract void open();public abstract void close(); }现在有个需求有些门具有报警功能那么该如何实现这样的需求呢 将 open() 、close() 和 alarm() 都声明在一个接口中行不行 我们分析下 有些门具有报警功能那么去实现这个接口就可以了而有些门不具有报警功能但是具有基本的 open()、close() 功能难道也去实现这个接口吗如果去实现这个接口那么就必须实现 alarm()这并不符合需求呀。如果将来需要做个火灾报警器这个报警器具有 alarm() 功能但是不具有 open()、close() 功能火灾报警器为了实现报警的功能去实现这个接口结果还要额外将 open()、close() 这两种功能也实现了这样显然不合理呀。 而将这三个功能都声明在一个抽象类中也会遇到上述的问题。 所以从这里可以看出open() 、close() 和 alarm() 根本就属于两个不同范畴内的行为open() 和 close() 是门本身固有的行为特性而 alarm() 属于延伸的附加行为。因此最好的解决办法是单独将报警设计为一个接口包含 alarm() 行为Door 设计为单独的一个抽象类包含 open 和 close 两种行为。再设计一个报警门继承 Door 类和实现 Alarm 接口。 interface Alram {void alarm(); }abstract class Door {void open();void close(); }class AlarmDoor extends Door implements Alarm {void oepn() {//....}void close() {//....}void alarm() {//....} }总结 不管使用抽象类还是接口归根结底是为了尽可能地职责分离把业务抽象也就是“面向接口编程”。 参考 抽象类的理解参考文章 1.https://www.cnblogs.com/dolphin0520/p/3811437.html 2.https://blog.csdn.net/qq_45151158/article/details/123785005 3.https://blog.csdn.net/chenssy/article/details/12858267 4.https://www.runoob.com/w3cnote/java-abstract-interface-different.html 接口的理解参考文章 1.https://blog.csdn.net/m0_61220535/article/details/123436292 2.https://blog.51cto.com/u_3664660/3214698 3.https://segmentfault.com/a/1190000040932698 4.https://zhuanlan.zhihu.com/p/271073878?ivk_sa1024320u 5.https://gitbook.cn/books/5a237e8d508755657b690914/ 6.https://blog.csdn.net/qq_40587575/article/details/78793885 7.https://www.cnblogs.com/otakus/p/12169072.html 8.https://developer.51cto.com/article/469310.html 9.https://blog.csdn.net/kwame211/article/details/77374710 10.https://www.sohu.com/a/352592926_99950532 11.https://ld246.com/article/1552317815323
http://wiki.neutronadmin.com/news/177868/

相关文章:

  • 找做网站免费网站建设解决方案
  • 网站seo入门基础教程书籍wordpress把所有东西导出
  • 成都网站建设外包业务这是我做的网站吗
  • so域名网站大的网站建设公司
  • 315网站专题怎么做互联网站从事登载新闻业务管理暂行规定
  • mysql同一数据库放多少个网站表微网站用什么做的
  • 需要个网站淮南城乡建设局网站
  • 福州百度做网站多少钱做教育业网站
  • 企业网站开发信息html自动播放视频
  • asp网站如何打开受欢迎的邢台做网站
  • 国内 上市网站建设公司排名合肥做拼拼团网站的公司
  • 网站魔板大全昆明做凡科网站
  • 分类网站怎么做项目外贸网站模板免费
  • 曼朗策划网站建设商场设计费
  • 百度网站推广一年多少钱自己开发软件大概需要多少钱
  • 广州网站建设市场西宁网站建设公司排行
  • seo是什么品牌seo快速排名服务
  • 广州微信网站开发公司企业网站搭建新感觉建站
  • 池州市建设工程质量安全监督局网站自家电脑做网站服务器w7花生壳
  • 做淘宝客需要网站吗杭州网站建设响应式
  • 护肤品 网站建设策划书合肥广告牌制作公司
  • 广州骏域网站建设专家电子商务公司属于什么行业
  • 欧美色影网站经典logo设计案例分析
  • 速升网站网站设计需要学什么软件
  • php违章网站开发购物网站开发需求分析
  • 望城区网站建设wordpress 微站
  • 网站建设商务代表工作总结生态建筑建设公司网站
  • 网站空间是不是服务器网站建设公司 合肥
  • 如何让域名跳转网站网站开发按几年摊销
  • 风铃网站代做潍坊网站搜索引擎优化