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

北航刘禹导师做网站wordpress英文字体样式

北航刘禹导师做网站,wordpress英文字体样式,企业管理培训课程游戏,任县网站建设多少钱继承缺点 继承是面向对象的四大特性之一#xff0c;用来表示类之间的 is-a 关系#xff0c;可以解决代码复用的问题。虽然继承有诸多作用#xff0c;但继承层次过深、过复杂#xff0c;也会影响到代码的可维护性。在这种情况下#xff0c;我们应该尽量少用#xff0c;甚至…继承缺点 继承是面向对象的四大特性之一用来表示类之间的 is-a 关系可以解决代码复用的问题。虽然继承有诸多作用但继承层次过深、过复杂也会影响到代码的可维护性。在这种情况下我们应该尽量少用甚至不用继承. 使用组合替换继承 继承主要有三个作用表示 is-a 关系支持多态特性代码复用。而这三个作用都可以通过组合、接口、委托三个技术手段来达成。 设计一个关于鸟的类,使用组合、接口、委托完成 定义为一个抽象类 AbstractBird麻雀、鸽子、乌鸦等都继承这个抽象类。由于不是所有鸟都会飞所以不是所有鸟都有fly()这个方法。 我们可以从鸟会不会飞、会不会叫来对鸟进行划分。两个行为搭配起来会产生四种情况会飞会叫、不会飞会叫、会飞不会叫、不会飞不会叫。如果假如新行为我们可能还需要继续构建更加细分的抽象类这样就比较麻烦。继承层次过深、继承关系过于复杂会影响到代码的可读性和可维护性。 可以利用组合composition、接口、委托delegation三个技术手段解决这个问题。 接口表示具有某种行为特性 可以定义一个 Flyable 接口只让会飞的鸟去实现这个接口。 对于会叫、会下蛋这些行为特性我们可以类似地定义 Tweetable 接口、EggLayable 接口。 1、定义接口 public interface Flyable { void fly(); } public interface Tweetable { void tweet(); } public interface EggLayable { void layEgg(); }2、通过多个接口实现多个特性鸵鸟不会飞但是会叫会下蛋所以只有两个接口。注意mplements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用 。 public class Ostrich implements Tweetable, EggLayable {//鸵鸟 //... 省略其他属性和方法... Override public void tweet() { //... } Override public void layEgg() { //... } }3、接口只声明方法不定义实现。也就是说每个会下蛋的鸟都要实现一遍 layEgg() 方法并且实现逻辑是一样的这就会导致代码重复的问题。 可以针对三个接口再定义三个实现类 实现了 fly() 方法的 FlyAbility 类、 实现了 tweet() 方法的 TweetAbility 类、 实现了 layEgg() 方法的 EggLayAbility 类。 public interface Flyable { void fly();} public class FlyAbility implements Flyable { Override public void fly() { //... } } //省略Tweetable/TweetAbility/EggLayable/EggLayAbility然后通过组合和委托技术来消除代码重复 public class Ostrich implements Tweetable, EggLayable {//鸵鸟 private TweetAbility tweetAbility new TweetAbility(); //组合 private EggLayAbility eggLayAbility new EggLayAbility(); //组合 //... 省略其他属性和方法... Override public void tweet() { tweetAbility.tweet(); // 委托 }Override public void layEgg() { eggLayAbility.layEgg(); // 委托 } }由于对Java不太熟悉可能还需要关注一下这个知识点 extends和implements区别
http://www.zqtcl.cn/news/492091/

相关文章:

  • 自己做企业网站在哪学习建网站
  • 门户网站建设 突出服务学习电子商务网站建设与管理的收获
  • 做网站排名大概要多少免费做个人网站
  • 哈尔滨网站建设效果wordpress主题 手机app
  • 收录网站源码海外域名怎么打开
  • 荥阳网站建设上海十大营销策划公司
  • 在网站挂广告一个月多少钱巫溪网站建设
  • 网站备案名称的影响吗济南网站建设招聘
  • 南城区网站建设公司y2学年做的租房网站
  • 温州网站建设咨询网站源码下载后怎么布置
  • 邢台网站推广wordpress文章数据库位置
  • wordpress 快站wordpress 安装主题 主机名
  • 老网站改版启用二级域名网站建设服务是什么意思
  • 网站建设营销话术外销网站
  • 找个人给我做电影网站好主题网站开发介绍
  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询