设计模式面向对象基础.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式面向对象基础

设计模式(Design Pattern);主要内容;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;面向对象基础;属性与修饰符 有了ShoutNum属性,Shout方法需要改进了;面向对象基础;属性与修饰符 变量私有的叫字段,公有的是属性 对方法而言,同样有私有方法和共有方法 一般无需对外界公开的方法都应该设置其修饰符为private私有,这才有利于封装。;封装 面向对象的三大特性之一 每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖于其它对象完成自己的操作。 ;封装 封装有很多好处 第一、良好的封装能够减少耦合 我们让Cat和Form1的耦合分离了 第二、类内部的实现可以自由地修改 我们已经对Cat做了很大的改动 第三、类具有清晰的对外接口 就是指定义为public的ShoutNum属性和Shout方法 ;面向对象基础;面向对象基础;面向对象基础;继承 ;继承 对象继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为B是A,则表明B可以继承A “猫是动物”,说明猫与动物之间的继承与被继承的关系 继承者是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己独有的个性 “猫”可能拥有抓老鼠,爬树等“动物”不具备的属性 ;继承 继承定义了类如何相互关联,共享特性。继承的工作方式是,定义父类和子类,或叫做基类和派生类,其中子类继承父类的所有特性。子类不但继承了父类的所有特性,还可以定义新的特性。 ;继承 学习继承记住三句话,如果子类继承于父类 第一、子类拥有父类非private的属性和功能; 第二、子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能; 第三、子类还可以以自己的方式实现父类的功能(方法重写) ;继承 除了private和public外,还有protected表示继承时子类可以对父类有完全访问权。 也就是说,protected修饰的类成员,对子类公开,对其它类不公开。 ;继承 ;面向对象基础;面向对象基础;面向对象基础;继承 不用继承的话,如果修改功能,就必须在所有重复的方法中修改,代码越多,出错的可能性就越大 而继承的优点是,继承使得所有子类公共的部分都放在了父类,使得代码得到了共享,这就避免了重复,另外,继承可使得修改或扩展继承而来的实现都较为容易。 ;继承 继承是有缺点的,父类变,则子类不得不变。 继承会破坏包装,父类实现细节暴露给子类,这其实是增大了两个类之间的耦合性。 继承显然是一种类与类之间强耦合的关系。 当两个类之间的关系是“is-a”的关系时考虑用继承 而当两个类之间的关系是“has-a”的关系,不能用继承 比如:人有两只手,手不能继承人。;面向对象基础;多态 多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。 ;多态 国粹京剧子承父业,代代相传。 有一位父亲是有名的艺术家, 六个儿子长大成人, 模仿父亲惟妙惟肖。 有一天,父亲突然发烧,上不了台,但是票已经卖了,退票影响声誉。于是决定让儿子化了妆代父亲表演。 ;多态 ;多态 第一,子类以父类的身份出现 儿子代表父亲表演,化妆后就以父亲身份出现了。 第二,子类在工作时以自己的方式来实现 儿子模仿得再好,那也是模仿,儿子只能用自己方式表演父亲的作品。 第三,子类以父亲的身份出现时,子类特有的属性和方法不可以使用 儿子有自己的绝活也不能使用。 ;多态 虚方法和方法重写 虚方法,为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的。这是通过在该成员的返回类型之前添加virtual关键字来实现的。 方法重写,子类可以选择使用override关键字,将父类实现替换为它自己的实现,这就是方法重写override ;面向对象基础;面向对象基础;面向对象基础;多态 不同对象可以执行相同的动作,但要通过他们自己的实现代码来执行。 多态的原理是当方法被调用时,无论对象是否被转换为其父类,都只有位于对象继承链最末端的方法实现会被调用。也就是说,虚方法是按照其运行时类型而非编译时类型进行动态绑定调用的。 ;面向对象基础;面向对象基础;面向对象基础; 现在又来了小牛和小羊来报名,如何做? ;面向对象基础;重构 两个互为兄弟的子类代码类似,并非完全相同 首先采用Extract Method(提炼函数)区分相同部分和差异部分代码,构成单独函数 然后再对提炼的代码使用Pull Up Meth

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档