- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 社区养老服务驿站2025年运营策略与案例分析.docx
- 《跨境电商英语》课程标准.docx VIP
- 除颤仪迈瑞D3分布及使用.pptx VIP
- 2019年人教版九下化学《第12章 化学和生活》单元测试卷(解析版).doc VIP
- 中班语言绘本《绿绵羊在哪里》动态PPT课件.pptx VIP
- 人教版五年级上册数学全册教案(永威先学后教模式).pdf VIP
- 变电站验收要点.docx
- nubia主题修改教程附电脑和手机工具努比亚ui4.pdf VIP
- 2024-2025学年人教版化学九年级下学期《第8章 金属和金属材料》测试卷及答案解析.doc VIP
- 最新人教版九年级数学上册-全册课件全集(1215张).pptx VIP
文档评论(0)