




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面 向 对 象,目录,contents,面向过程与面向对象,优点与缺点,三大特征,是什么,六大原则是什么,是什么,具体体现,面向过程与面向对象,面向过程:程序=算法+数据结构 面向对象:程序=对象+交互,目录,contents,特点:分析解决问题的步骤,然后逐步实现 程序=算法+数据结构 优点:所有环节,细节都自己掌控 缺点:考虑所有细节,工作量大 基于自上而下的设计模式,修改复用困难,系统维护困难 适用场合:解决简单问题,方法内部,婚礼筹办 - 发请柬(选照片、措词、制作) - 宴席(场地、找厨师、准备桌椅餐具、计划菜品、购买食材) - 婚礼仪式(定婚礼仪式流程、请主持人),面向过程,亲力亲
2、为,特点:找到解决问题的对象,分配职责 程序=对象+交互 优点: - 高复用:对重复的代码进行封装,提高开发效率。 - 高扩展:增加新的功能,不修改以前的代码。 - 高维护:代码可读性好,逻辑清晰,结构规整。 缺点:考虑所有细节,工作量大 适用场合:解决简单问题,方法内部,婚礼筹办 - 发请柬:找摄影公司(拍照片、制作请柬) - 宴席:找酒店(告诉对方标准、数量、挑选菜品) - 婚礼仪式:找婚庆公司(对方提供司仪、制定流程、提供设备、帮助执行),面向对象,分配职责,三大特性,封装-继承-多态,目录,contents,定义:具有一定共性的对象的集合与抽象 对数据+行为的封装 1)数据:将多个基本
3、类型,合成一个自定义类型. 2)行为:对外提供简单的必要的功能,隐藏实现的细节. 优势:模块化开发,简化编程,1)类和实例的定义 -类:是抽象的模板 -实例:是具体的对象 2)类和对象在内存中的存放,内存图,class Student: def _init_(self,name,score): =name self.score=score def study(self): ,x0901,stu01,name,score,类型对象指针,同步块索引,stu01=Student(“小明”,90) stu01.study,_init_栈帧,小明,90,study
4、栈帧,设计思想: 1)分而治之: 分解需求 让多个类协同完成.而不是交给一个类完成 2)封装变化: 每个变化点单独做成一个类. - 高内聚:类的内部处理一个变化点 低耦合:类与类的关系,尽量做到互不影响,继承:重用现有类的概念与功能,并在此基础上进行扩展 作用:隔离 客户端代码 |功能的实现方式(隔离用|做) 注意: 不能用于代码的复用,交通工具隔离了人与汽车/飞机/火车的变化,图形类隔离了图形管理器与圆形/矩形等各种具体图形.的变化,多态:调用父一个方法,执行子类方法,不同实现方式不一样,所以表现形态就不一样 作用:重写执行不同变化点 比如:图形管理器调用图形的计算面积方法,执行的是圆形/矩
5、形的计算面积方法,六大原则,1.开闭原则2.职责单一3.依赖倒置4.组合复用5.里式替换6.迪米特法则,目录,contents,用关联关系,替代继承关系,父类被作为客户端类的成员变量使用,客户端代码使用抽象的父,而不是具体的子,汽车/飞机等交通工具的增删不影响人的使用,每种交通工具互不影响,增加新功能,不修改客户端代码,比如人使用交通工具,交通工具种类追加,只需要追加新的交通工具类,不影响其他代码,每个类有且只有一个改变的原因,比如交通工具子类中,每个类功能明确,都是运输,互不影响,低耦合,比如人使用交通工具类,而不是直接调用火车/飞机,交通工具使用运输方法,但是可以被汽车/飞机等具体类的方法替换,父类出现的地方可以被子类替换,替换后保持原来功能,具体体现,1.开闭原则2.职责单一3.依赖倒置4.组合复用5.里式替换6.迪米特法则,目录,contents,PPT模板下载: 行业PPT模板: 节日PPT模板: PPT素材下载: PPT背景图片: PPT图表下载: 优秀PPT下载: PPT教程: Word教程: Excel教程: 资料下载: PPT课件下载: 范文下载: 试卷下载: 教案下载: 字体下载:,面向对象,六大原则的体现,开闭原则:交通工具的变化不影响人的使用 依赖倒置:人调用交通工具,而不是调用汽车,飞机. 职能单一:汽车职能明确就是行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论