版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《面向对象程序设计》期末复习完全手册(直接使用版)第一部分:考试题型与分值分布(通用)题型题量分值主要考查范围策略选择题20-25题20-30分OOP概念、访问修饰符、继承与多态特性、接口与抽象类区别、设计模式识别、UML关系辨析相似概念,牢记语法规则和设计意图填空题10-15题10-15分关键字填写(extends/implements/abstract/static/final)、UML关系名称、设计原则名称、模式类名等熟记关键字和常见命名判断题10题10分概念正误辨析注意绝对化表述和常见误区简答题4-5题20-25分面向对象三大特性、接口与抽象类比较、设计原则内涵、某个设计模式的结构与动机分点作答,必要时配类图简图程序阅读题2-3题10-15分给出类定义和测试代码,判断输出(考察多态、继承、构造顺序等)模拟执行,记录对象类型和调用链程序设计/应用设计题1-2题10-15分根据场景设计类图、应用某种设计模式或编写核心代码片段识别变化点,选择合适模式,书写规范代码第二部分:面向对象基本概念速查2.1面向对象三大特性特性含义好处封装隐藏对象的属性和实现细节,仅对外暴露公共接口降低耦合,提高安全性和可维护性继承子类获得父类的属性和方法,并可扩展或重写代码复用,建立类层次结构多态同一操作作用于不同对象,可以有不同的解释和执行结果统一接口,扩展灵活2.2类与对象类:具有相同属性和行为的对象的抽象模板。对象:类的实例,拥有状态(属性)和行为(方法)。2.3访问修饰符(以Java为例)修饰符同类同包子类全局private✓默认(无修饰符)✓✓protected✓✓✓public✓✓✓✓第三部分:封装与类设计速查3.1封装实践属性设为private,提供public的getter/setter方法进行访问控制。构造方法用于对象初始化,可重载;若未定义构造方法,系统自动提供无参构造。3.2this关键字引用当前对象。区分成员变量和局部变量。在构造方法中调用本类其它构造方法:this(参数),且必须作为第一行语句。3.3static关键字用途说明静态变量属于类,所有对象共享,可通过类名直接访问静态方法只能访问静态成员,不能使用this,可通过类名调用静态代码块类加载时执行一次,常用于初始化静态资源3.4final关键字修饰目标效果变量常量,不可修改方法不能被子类重写(覆盖)类不能被继承第四部分:继承与多态速查4.1继承(extends)子类继承父类的非private成员。子类可以通过super关键字调用父类构造方法和被覆盖的方法。构造方法调用顺序:父类构造→子类构造。子类可以重写(Override)父类方法,要求方法签名相同、返回类型协变、访问权限不能缩小。4.2多态的实现编译时多态:方法重载(Overload)。同一类中方法名相同,参数列表不同。运行时多态:方法重写(Override)+父类引用指向子类对象。成员变量和静态方法没有运行时多态(编译看左边,运行看左边)。实例方法:编译看左边,运行看右边(如果子类重写了)。4.3抽象类用abstract修饰的类,不能实例化。可包含抽象方法(无方法体)和具体方法。子类必须实现所有抽象方法,否则子类也是抽象类。4.4接口(interface)用interface声明,实现用implements。一个类可以实现多个接口。接口中的方法默认为publicabstract(Java8之后可以有default方法和static方法)。接口中的变量默认为publicstaticfinal常量。接口不能有构造方法。4.5抽象类与接口对比对比项抽象类接口实例化不能不能构造方法有无方法实现可有具体方法Java8前只能抽象,之后可有default/static变量普通成员变量只能常量(publicstaticfinal)继承机制单继承extends多实现implements设计层次定义“是什么”(is-a关系)定义“能做什么”(can-do关系)第五部分:UML类图速查5.1类图元素类表示:矩形框分三层:类名、属性、方法。可见性标记:+public,-private,#protected,~默认。抽象类/抽象方法用斜体或{abstract}标注。5.2类之间的关系关系表示法含义泛化(继承)空心三角+实线子类指向父类实现空心三角+虚线实现类指向接口关联实线一个类知道另一个类聚合空心菱形+实线整体-部分,弱拥有(如球队和球员)组合实心菱形+实线整体-部分,强拥有(同生命周期)依赖虚线箭头一个类使用另一个类作为参数或局部变量第六部分:设计原则与常用设计模式速查6.1SOLID原则原则英文核心思想单一职责SRP一个类应该只有一个引起变化的原因开闭原则OCP对扩展开放,对修改关闭里氏代换LSP子类对象能够替换父类对象而不影响程序正确性接口隔离ISP不应强迫类实现不需要的接口依赖倒转DIP高层模块不依赖低层模块,都依赖抽象6.2常用设计模式模式分类意图典型应用单例模式创建型保证一个类只有一个实例,并提供全局访问点数据库连接池、配置管理工厂方法模式创建型定义创建对象的接口,子类决定实例化哪个类日志记录器抽象工厂模式创建型创建一系列相关或相互依赖的对象UI组件库观察者模式行为型对象间一对多依赖,当一个对象状态改变,所有依赖者得到通知事件处理、发布-订阅策略模式行为型定义一系列算法,把它们封装起来,并可相互替换排序算法选择、支付方式装饰器模式结构型动态给对象添加职责JavaIO流第七部分:常见题目综合速查7.1对象创建与初始化顺序(Java)静态成员(父→子)→父类普通成员初始化→父类构造方法→子类普通成员初始化→子类构造方法。7.2内部类成员内部类:可访问外部类所有成员,外部类创建内部类对象:out.newInner()静态内部类:只能访问外部类静态成员,创建:newOuter.Inner()局部内部类:定义在方法内,作用域仅限于方法。匿名内部类:用于实现接口或继承类,常用于事件监听。7.3泛型基础参数化类型,提供编译时类型安全检查。常用:List<String>,Map<Integer,String>泛型类、泛型方法。通配符:?extendsT(上界),?superT(下界)。7.4异常处理中的OOP思想自定义异常继承Exception或RuntimeException。利用多态,catch块中父类异常捕获可以处理其子类异常。第八部分:高频选择题题库(50题)模块一:基本概念与封装题号题目ABCD答案1面向对象方法中,封装的主要目的是实现继承隐藏内部实现细节提高运行速度便于代码阅读B2Java中,以下哪个不是访问修饰符privateprotectedpublicfriendlyD3类的构造方法必须有返回值方法名与类名相同可以用static修饰不能用private修饰B4关于this的说法正确的是this指代当前类this可用于调用本类其他构造方法this只能用于静态方法this只能在main中使用B5使用final修饰类表示该类不能被继承该类不能创建对象该类的方法不可调用该类必须被继承A模块二:继承与多态题号题目ABCD答案6子类通过什么关键字调用父类构造方法thissuperparentextendsB7方法重写(Override)要求方法名可以不同参数列表必须相同返回值类型必须严格一致(或协变)B和CD8多态的表现形式不包括方法重载方法重写父类引用指向子类对象构造方法重载D9关于抽象类的正确说法是可以实例化抽象方法不能有方法体抽象类不能被继承抽象方法必须用static修饰B10接口中的方法默认是privateprotectedpublicabstractstaticC模块三:接口与抽象类对比题号题目ABCD答案11一个类可以实现的接口个数是1个2个多个0个C12以下关于接口的描述错误的是接口不能包含构造方法接口中的变量默认是final的接口中所有方法都必须由实现类实现(Java8之前)接口可以继承抽象类D13抽象类和接口的共同点是都不能被实例化都可以包含具体方法都可以有构造方法都只能单继承A模块四:UML类图题号题目ABCD答案14UML类图中,表示继承关系的线是虚线箭头空心三角实线实心菱形实线实线B15聚合关系与组合关系的主要区别是没有区别组合更强调整体与部分的生命周期一致聚合不可包含另一个类聚合用实心菱形B16在类图中,+表示privateprotectedpublicdefaultC模块五:设计原则与设计模式题号题目ABCD答案17单一职责原则指的是一个类只负责一件事一个类应该只有一个实例一个方法只做一件事一个接口只写一个方法A18开闭原则的核心是对修改开放,对扩展关闭对扩展开放,对修改关闭对扩展和修改都开放对扩展和修改都关闭B19单例模式的核心是确保一个类只有一个对象确保一个类可以被多次实例化确保一个方法只执行一次确保一个类有多个子类A20观察者模式体现的设计原则主要是单一职责开闭原则依赖倒转原则接口隔离原则C模块六:综合(21-50)题号题目ABCD答案21以下代码输出结果是:Parentp=newChild();p.display();其中Child重写了display方法调用Parent的display调用Child的display编译错误运行时异常B22泛型的主要优点是提高运行速度提供编译时类型安全减少代码量增加灵活性B23内部类可以直接访问外部类的私有成员公有成员所有成员静态成员C24关于异常处理,描述正确的是子类异常必须在父类异常之后捕获父类异常必须在子类异常之后捕获异常捕获顺序无影响不能同时捕获多个异常A25静态方法可以访问实例变量调用其他静态方法使用this指针被声明为抽象方法B26属于创建型设计模式的是观察者模式策略模式单例模式适配器模式C27工厂方法模式中,创建对象的责任由谁承担客户端工厂子类产品接口抽象工厂B28里氏代换原则要求子类可以替换父类父类可以替换子类子类不能重写父类方法子类必须比父类小A29接口隔离原则建议接口尽量大而全接口尽量小且专用一个接口对应一个类接口不能有多个方法B30装饰器模式与继承相比的主要优势是更简单动态组合功能,避免类爆炸效率更高不需要接口B31一个类实现多个接口,若接口中有同名默认方法,则自动选择其中一个编译错误必须重写该方法运行时随机调用C32静态内部类与非静态内部类的区别是静态内部类不能访问外部类实例成员非静态内部类不能访问外部类成员两者完全相同静态内部类需要外部类对象才能创建A33匿名内部类可以实现多个接口继承一个类并实现一个接口继承一个类或实现一个接口定义构造方法C34集合框架中,List接口的实现类通常用于键值对存储唯一元素集合有序可重复序列排序C35面向对象中,组合与聚合的主要区别在于没有区别生命周期的绑定强度聚合不可包含同一类对象组合用空心菱形B36在UML中,依赖关系表示的是一个类是另一个类的子类一个类使用另一个类整体与部分的关系接口与实现的关系B37关于抽象类的说法,错误的是可以包含具体方法不能被实例化可以包含构造方法不能被继承D38关于方法重载,描述正确的是必须改变返回类型方法名相同,参数列表不同必须抛出不同异常仅在子类中才能发生B39子类重写父类方法时,不能缩小访问权限扩大访问权限抛出新的检查异常保持返回类型A40Java中,Object类是所有类的直接父类间接父类直接或间接父类没有关系C41使用instanceof操作符可以比较两个对象是否相等判断对象的类型创建一个对象销毁对象B42策略模式的结构中通常包含抽象策略类和具体策略类单例类被观察者装饰器A43抽象工厂模式与工厂方法模式的区别在于前者创建单个产品,后者创建产品族前者创建产品族,后者创建单个产品没有区别前者用于单例,后者用于多例B44依赖倒转原则建议高层模块依赖低层模块抽象依赖细节细节依赖抽象类之间直接依赖C45让一个类不可被序列化,通常的做法是所有字段使用transient不实现Serializable接口使用volatile修饰类声明为抽象类B46以下哪个不是面向对象的基本特征封装继承多态并发D47Java中所有异常类的根类是ThrowableExceptionErrorRuntimeExceptionA48UML中,接口的表示方式是矩形圆形带有<>的矩形菱形C49面向对象分析中,识别对象通常通过寻找动词寻找名词寻找继承关系寻找接口B50多态的优点不包括可替换性可扩展性代码量一定减少接口统一C第九部分:填空题高频考点(直接背诵)序号题目答案1面向对象三大基本特征是封装、继承和____。多态2用____关键字修饰的类不能被继承。final3接口中定义的方法默认是____修饰的。publicabstract4通过父类引用调用子类重写的方法,体现的是____。运行时多态(动态绑定)5构造方法名必须与____相同。类名6UML类图中,组合关系用____菱形表示。实心7单例模式的核心是确保类只有一个____。实例8里氏代换原则指出,子类对象必须能够替换____对象。父类9工厂方法模式中,将对象的创建延迟到____中。子类10抽象类不能直接创建对象,必须通过____实例化。子类11类之间的关系中,____表示整体与部分且同生命周期。组合12开闭原则要求对扩展____,对修改关闭。开放13策略模式定义了一系列算法,使它们可以相互____。替换14使用____关键字可以防止成员变量被序列化。transient15内部类可以直接访问外部类的____成员。所有(包括私有)16泛型提供了____时的类型安全检查。编译17接口中变量的默认修饰符是publicstatic____。final18抽象方法不能有____。方法体19观察者模式中,主题对象通知所有____对象状态更新。观察者20依赖倒转原则强调高层模块不应依赖低层模块,都应依赖____。抽象第十部分:判断题速记(20题)序号题目答案1封装就是将类的所有属性设为public。错(设为private)2一个类可以实现多个接口。对3抽象类中可以没有抽象方法。对4构造方法可以被继承。错5子类重写父类方法时,访问权限可以比父类更严格。错(只能更宽松或相同)6接口之间可以多继承。对7静态方法可以被重写。错(只能被隐藏)8组合关系中,部分对象可以脱离整体对象单独存在。错9单例模式的构造方法通常用private修饰。对10工厂方法模式违背了开闭原则。错(符合,新增产品只需新增具体工厂类)11抽象类可以包含构造方法。对12接口中的方法在Java8之后都可以有默认实现。错(可用default提供实现,但并不是所有方法都必须是默认方法)13匿名内部类可以没有名字,只能使用一次。对14多态是通过方法重载和方法重写共同实现的。对15依赖关系是最弱的一种类间关系。对16一个类只能有一个内部类。错17策略模式中,环境类(Context)持有一个策略接口的引用。对18使用final修饰的方法不能被重写。对19泛型信息在程序运行时仍然保留。错(类型擦除)20面向对象设计的目标之一是提高软件的可复用性和可维护性。对第十一部分:名词解释高频考点名词定义封装将数据(属性)和操作数据的方法绑定在一起,隐藏对象的内部实现细节,只暴露接口。继承从已有类派生出新类的机制,新类自动拥有父类的属性和方法,并可添加或重写。多态同一操作作用于不同的对象,可以产生不同的行为。分为编译时多态(重载)和运行时多态(重写+父类引用)。抽象类用abstract修饰的类,不能实例化,可包含抽象方法和具体方法,用于抽取子类的共同特征。接口一组抽象方法和常量的集合,定义了一个规范,类通过implements实现接口。单例模式确保一个类只有一个实例,并提供一个全局访问点的创建型设计模式。开闭原则软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。依赖倒转原则高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。UML统一建模语言,用于可视化、规范、构造和文档化软件系统的图形化语言。组合整体与部分关系,部分不能脱离整体而独立存在,具有相同的生命周期。第十二部分:简答题高频考点速记1.简述面向对象三大特性及其作用。封装隐藏内部实现,提高安全性和可维护性;继承实现代码复用和层次分类;多态统一接口,增加系统的灵活性和可扩展性。2.比较抽象类与接口的异同。相同:都不能实例化,都可以包含抽象方法。不同:抽象类可有构造方法和普通成员变量,单继承;接口只能有常量和抽象方法(Java8后可含default方法),可多实现。3.什么是设计模式?列举三种并简述其意图。设计模式是经过反复验证的、解决特定问题的可复用设计方案。单例模式保证唯一实例;工厂方法将对象创建延迟到子类;观察者模式定义一对多依赖,实现松耦合的通知机制。4.阐述开闭原则的含义及如何实现。软件实体应该对扩展开放,对修改关闭。通过抽象和多态实现:定义稳定的接口或抽象类,当需求变化时,新增具体类来实现扩展,而不是修改原有代码。5.组合与聚合有什么区别?各举一例。组合:整体与部分强耦合,部分不能脱离整体独立存在,生命周期一致。如汽车和引擎。聚合:整体与部分弱耦合,部分可以脱离整体独立存在。如球队和球员(球员可转会)。第十三部分:设计题思路示例例1:应用单例模式场景:配置管理器在整个系统中只需一个实例。
实现:私有构造方法,静态私有实例,公共静态方法获取实例(双重检查锁或静态内部类实现)。例2:应用观察者模式场景:天气数据变化时,多个显示面板需更新。
实现:定义主题接口(注册、移除、通知)和观察者接口(更新方法)。天气数据类实现主题,显示面板实现观察者并注册到主题。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河道整治截污纳管方案
- 2026宏观经济波动下管理咨询行业抗周期发展路径专题研究报告
- 装修施工高处作业防坠落方案
- 雨季土方施工防滑方案
- 2026哥斯达黎加农业种植业市场发展趋势竞争供需分析投资评估布局研究报告
- 2026哥伦比亚石油化工产品贸易行业市场深度调研及竞争格局与发展趋势研究报告
- 2025-2030年智能家居安防设备能耗管理企业制定与实施新质生产力战略分析研究报告
- 2025-2030年高效能建筑起重与吊装设备行业深度调研及发展战略咨询报告
- 2026年天水市秦州区广播电视台(融媒体中心)人员招聘笔试参考题库及答案解析
- 2026年乌鲁木齐市沙依巴克区林业系统人员招聘考试模拟试题及答案解析
- 2026年宁波余姚市泗门镇人民政府公开招聘编外工作人员7人笔试参考试题及答案解析
- 凉山州2025年四川凉山州第一批引进人才(559人)笔试历年参考题库典型考点附带答案详解
- 2026年二级建造师市政工程管理考试真题答案及详细解析
- 山东发展侯咽集37.52万千瓦风电项目220kV送出线路工程环境影响报告表
- 2026重庆北碚区静观镇招聘在村挂职本土人才8人考试参考题库及答案解析
- 2026年高考冲刺作文审题立意训练:选择题32道(附深度解析+答案)
- 2026“才聚齐鲁 成就未来”山东铁投能源集团、山东清洁热网有限公司招聘128人笔试参考试题及答案详解
- (2026年)检验检测机构资质认定“一单一库”的学习与解读(2026年实施)课件
- 2026中国期货市场市场深度与流动性风险研究报告
- 24J113-1 内隔墙-轻质条板(一)
- 2024年贵州省中考理科综合试卷(含答案解析)
评论
0/150
提交评论