已阅读5页,还剩140页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
产品库存管理系统面向对象设计 学习情境描述 要求根据第一个情境的需求分析结果 学生成立项目开发小组 划分角色 推选项目经理和CTO 首席技术师 程序员 经过讨论给出产品库存管理系统中的实体类 入库单 出库单 库存和用户类和控制类接口的详细设计 利用情境2搭建好的环境 对每个类予以编程实现 所需知识 类的定义与对象的创建构造方法的作用及应用面向对象三大特征 封装性 继承性和多态性的Java语言实现抽象类与接口的应用包的创建与使用访问控制符的应用异常处理 重点及难点 构造方法的作用及应用面向对象三大特征 封装性 继承性和多态性的Java语言实现抽象类与接口的应用异常处理 能力目标 培养学生面向对象的编程能力培养学生良好的团队合作意识及沟通协调能力 接收新知识的能力培养学生分析问题 解决问题的能力 创新能力以及逻辑思维能力 任务一 用Java语言描述现实世界中的Person 学生讨论确定Person的特征譬如 name 姓名 age 表示年龄 sex 表示性别等 确定Person相关的行为譬如 吃饭 睡觉等 用Java语言实现Person类 复习引入 面向对象与面向过程的区别 面向对象编程 面向对象编程是软件设计与实现的有效方法 它将客观世界中存在的事物看作对象 每个客观事物都有自己的特征和行为 对象的基本概念 变量 方法 客观世界的实体 程序中对象 对象具有两方面的含义 考虑从哪些方面描述对象 面向对象的基本概念 类是抽象的 对象是具体的 具有相同特征和行为的对象被抽象为类 类是对象的模板 包括一个对象的所有数据和代码 类的示例 形状类 动物类 汽车类 对象 对象是存在的具体实体 具有明确定义的状态和行为 对象的示例 收银员对象 顾客对象 顾客姓名 朱丽叶年龄 28体重 52千克操作 购买商品 状态 姓名 布兰尼职衔 收银员年龄 35体重 60千克操作 收款打印帐单 行为 消息传递 消息指一个对象为执行某项特定操作而向另一个对象发送的请求 类和对象的示例 雇员 收银员 系统管理员 仓库管理员 面向对象技术的实现 对象 类和实体的关系 类是创建对象的模板 对象是类的实例 类的基本概念 现实生活中的对象 classCar intcolor intname intspeed voidbrake voidspeedUp voidslowDown 抽象数据类型 程序中的对象 映射 描述 实现 类定义 类定义中必须要写类名 应该使用Java语言合法的标识符来命名类名不能与java中已定义好的类名相同 格式 修饰符 class类名 extends父类名 implements接口名表 成员变量声明方法成员声明 其中class extends和implements都是Java的关键字 类中的方法6 1 方法的名称 参数列表 方法的主体 方法返回的对象类型或原始类型 方法体 若局部变量与类的成员变量同名 则类的成员变量被隐藏 方法体是对方法的实现 它包括局部变量的声明以及所有合法的Java指令 方法体中声明的局部变量的作用域在该方法内部 类的定义举例 classCar intcolor intname intspeed voidbrake voidspeedUp voidslowDown 类的实现 任务一实现 classPerson Stringname intage Stringsex publicvoideat System out println It sdelicious 实战 定义一个名为Rectangle表示长方形的类 它包含double类型的长length和宽width两个数据成员和设置长方形长宽值的方法setDim 计算长方形面积的方法area 类的实现 对象的创建 声明 类名对象名 声明并不为对象分配内存空间 而只是分配一个引用空间 实例化 类名对象名 new类名 例 Personp newPerson 运算符new为对象分配内存空间 它调用对象的构造方法 返回引用 初始化 另外执行构造方法 可进行初始化 当一个变量被创建时 会对其中各种类型的成员变量自动按下表进行初始化赋值 对象的使用 访问对象成员的一般形式为 对象名 成员变量名对象名 成员方法名 运算符 在这里称为成员运算符 创建对象举例 classTestPerson publicstaticvoidmain String args Personp1 newPerson p1 name Tom p1 age 12 p1 sex male p1 eat 按照前面设计Person类来充当生产车间 创建Person对象 任务二 通过构造方法 初始化Person类的实例 为其成员变量赋初值 构造方法 在Java中 任何变量在被使用前都必须先设置初值 Java提供了为类的成员变量赋初值的专门功能 构造方法 构造方法的特点 构造方法名与类名相同 构造方法不返回任何值 也没有返回类型 每一个类可以有零个或多个重载的构造方法 若没有为一个类显式的定义构造方法 则当创建类对象时 编译器将自动为它创建一个没有参数的默认构造方法 构造方法只能在创建对象时通过new关键字来自动调用 注意 一旦我们自己定义了构造方法 系统将不再为我们提供默认的不带参数的构造方法 classPerson Stringname intage Stringsex publicPerson Strings1 name s1 publicPerson Strings1 intx name s1 age x 任务二实现 publicPerson Strings1 intx Strings2 name s1 age x sex s2 publicvoideat System out println It sdelicious classTestPerson publicstaticvoidmain String args Personp1 newPerson Tom Personp2 newPerson John 20 Personp3 newPerson Bob 22 male System out println p1 name p1 age p1 sex System out println p2 name p2 age p2 sex System out println p3 name p3 age p3 sex 通过构造方法赋初值 This引用句柄 构造方法的形式参数与类的成员变量名相同在构造方法中调用其他重载的构造方法 用this 参数列表 的形式 自主学习内部类的定义和使用 面向对象的基本特征 封装性 继承性 多态性是面向对象的三个主要特性 封装性的引入 classPerson Stringname intage Stringsex publicvoideat System out println It sdelicious classTestPerson publicstaticvoidmain String args Personp1 newPerson p1 name Tom p1 age 12 非法的值p1 sex male System out println p1的年龄是 p1 age 通过实例启发学生思考为什么引入封装性 封装性的实现 外部世界 所谓封装 就是信息隐藏 隐藏对象的实现细节 不让用户看到 封装的示例3 1 接口 采购经理 罗杰斯先生 法拉力公司 迪斯尼汽车公司 市场经理 雪莉女士 要求 封装的示例3 2 有选择地提供数据 法拉力公司 迪斯尼汽车公司 封装的示例3 3 实体法拉力公司 实体迪斯尼汽车公司 AutiLtd ButoLtd 设置器和访问器方法 封装举例 classPerson privateintage publicvoidsetAge inti if i130 return age i publicintgetAge returnage 将其设为私有的 方法设为公有 封装的好处 任务三 定义Person类的子类Student类 继承性 类继承是指一个类可以继承其他类的非私有成员 实现代码复用 被继承的类称为父类 继承父类后产生的类称为子类 继承 父类 子类 继承的实现 classSubClassextendsSuperClass Java中的继承是通过extends关键字来实现的 关键字 任务三实现 classStudentextendsPerson Stringschool publicvoidstudy System out println Studding publicstaticvoidmain String args Personp newPerson p name Tom p age 30 p getInfo Students newStudent s name John s age 16 s school 清华大学 s getInfo s study 继承的特点 注意 在Java语言中 只允许单继承 继承的优点 构造方法的继承 构造方法不能继承 但子类在创建对象时要对继承来自父类的成员进行初始化 因此 在创建子类时除了执行子类的构造方法外 还需要调用父类的构造方法 具体遵循原则如下 当子类未定义构造方法时 创建对象时将无条件地调用父类的无参构造方法 对于父类的含参数构造方法 子类可以在自己构造方法中使用super调用它 但super调用语句必须是子类构造方法中的第一个可执行语句 子类在自己的构造方法中如果没有用super明确调用父类的构造方法 则在创建对象时 将自动先执行父类的无参构造方法 然后再执行自己定义的构造方法 任务四 对上例中Student类继承了父类的所有非私有方法进行重写 多态性 方法重写实现的动态多态性 运行时多态 方法重载实现的静态多态性 编译时多态 多态性 方法重写 classRectangle intlength intwidth Rectangle intlen intwid length len width wid 计算矩形的周长 voidgetPerimeter System out println 矩形的周长为 2 length width 方法重写 classSquareextendsRectangle Square intlen length len 计算周长 voidgetPerimeter System out println 正方形的周长为 4 length publicstaticvoidmain String arg RectanglerectObj newRectangle 10 15 rectObj getPerimeter RectanglesqObj newSquare 15 sqObj getPerimeter 调用父类方法 调用子类方法 任务四实现 classPerson publicStringname publicintage publicvoidgetInfo System out println name System out println age publicvoideat System out println It sdelicious classStudentextendsPerson Stringschool publicvoidstudy System out println Studding publicvoidgetInfo System out println name System out println age System out println school publicstaticvoidmain String args Personp newPerson p name Tom p age 30 p getInfo Students newStudent s name John s age 16 s school 塔山小学 s getInfo s study 多态性 实战 通过分析 编程实现上图 成员方法覆盖应注意的问题 覆盖方法的方法名 返回类型和参数列表必须与它所覆盖的方法相同覆盖方法不能比它所覆盖的方法访问性更低覆盖方法不能比它所覆盖的方法抛出更多的异常 成员变量的覆盖 若子类声明了与父类同名的变量 则父类的变量被隐藏起来 直接使用的是子类的变量 但父类的变量仍占据空间 可通过super或父类名来访问 程序运行结果 Subclass 200Superclass 100 成员变量的覆盖 classA intx 100 classBextendsA intx 200 voidprint System out println Subclass x System out println Superclass super x publicstaticvoidmain Stringargs newB print 成员变量的覆盖 类对象之间的类型转换 父类对象和子类对象的转换需要注意以下原则 子类对象可以被视为是其父类的一个对象 反之则不可 若一个方法的形式参数定义的是父类的对象 则调用该方法的实际参数可以使用子类对象 若父类对象引用指向的实际是一个子类对象 则这个父类对象的引用可以用强制类型转换转化成子类对象的引用 类变量 static修饰符 我们在Person类中增加一个成员变量国籍 并假设所有的人都来自中国 该如何实现 思考 类变量 country China static 静态变量或类变量 静态变量的访问 类名 变量名 类变量的应用 classCount publicstaticvoidmain Stringargs Useru1 newUser u1 login Useru2 newUser u2 login classUser staticintcount 0 voidlogin count System out println 你是第 count 位访问者 类方法 static修饰符 static修饰符修饰的方法叫静态方法 目的 使方法独立于类的实例 使用类去访问 类方法 调用静态方法的语法为 classname methodname 类方法的应用 publicclassIsPrime publicstaticbooleanprime intx for intk 2 k Math sqrt x k if x k 0 returnfalse returntrue ClassTestIsPrimepublicstaticvoidmain Stringargs for intm 10 m 100 m if IsPrime prime m System out println m 是素数 类方法的应用 为什么main 方法要用static来修饰 思考 final修饰符 任务五 思考 怎样用一个方法实现两种体积的计算 编程实现计算圆柱体和长方体的体积 抽象类 由abstract修饰的方法叫抽象方法 抽象方法没有方法体 包含抽象方法的类叫抽象类 由abstract修饰 抽象方法必须声明在抽象类中 抽象方法语法 abstracttypemethod name parameter list 声明抽象类语法 abstractclass 使用 父类中的某些抽象不包含任何逻辑 并需要在子类中重写 子类提供这种抽象方法的实现细节 任务五实现 abstractclassShape doublelength doublewidth doubleheight doubleradius abstractdoublevol classCircleextendsShape 计算圆柱体的体积 doublevol returnMath PI radius radius height classRectangleextendsShape 计算长方体的体积 doublevol returnlength width height 抽象类 抽象类可以具有指向子类对象的对象引用 任务六 通过接口计算边长分别为3和4的长方形面积 接口 接口的定义 publicinterfaceMyinterface intcompute intx inty 使用interface关键字定义一个接口 接口的实现 publiccalssMyclassimplementsMyinterface publicintcompute intx inty returnx y publiccalssYourclassimplementsMyinterface publicintcompute intx inty returnx y 注意 若实现接口的类不是抽象类 则在该类的定义部分必须实现指定接口的所有抽象方法 接口的继承 接口可以通过关键字extends继承其他接口例如 InterfaceB InterfaceAextendsB interfaceA Stringa 在接口A中 voidshowA interfaceBextendsA Stringb 在接口B中 voidshowB classInterfaceABCimplementsC publicvoidshowA System out println a publicvoidshowB System out println b 接口的继承举例 程序运行结果 在接口A中在接口B中 publicclassUseInterface1 publicstaticvoidmain Stringargs intx 5 y 10 Myinterfaceo Myclassmy newMyclass o my System out println xy的和 pute x y Yourclassyou newYourClass o you System out println xy的积 pute x y 接口类型的使用 接口可以作为一种引用类型来使用 接口的优点 接口的使用使得方法的描述说明和方法功能的分开 有助于降低程序的复杂性 使程序设计灵活 便于扩充修改 这也是Java面向对象程序设计方法中多态特性的体现 任务六实现 interfaceIrect doublew 3 l 4 voidcompute 定义接口 classCrectimplementsIrect publicvoidcompute System out println 边长分别为3和4的长方形面积为 w l 定义实现接口的类 classInterfaceDemo publicstaticvoidmain Stringargs Crectr newCrect pute 定义主类创建接口对象 综合实战 1 根据要求实现Circle类 成员变量 radius 半径 成员方法 Circle 构造方法 将半径置0Circle doubler 构造方法 将半径初始化为rdoublegetRadius 获取圆的半径doublegetPerimeter 获取圆的周长doublegetArea 获取圆的面积voiddisp 将圆的半径 周长和面积输出到屏幕 2 通过继承Circle类 派生圆柱体类Cylinder 成员变量 height 高 成员方法 Cylinder doubler doubleh 构造方法 初始化半径和高doublegetHeight 获取圆柱体的高doublegetVol 获取圆柱体体积voiddispVol 将圆柱体体积输出到屏幕 包 包将类和接口有机地组织成层次结构 与具体的文件系统的目录树结构层次一致 包允许将类组合成较小的单元 使其易于找到和使用相应的类文件 有助于避免命名冲突 包允许在更广的范围内保护类 数据和方法 创建包 package 包名1 包名2 语法格式如下 注意 在Java程序中 package语句必须是程序的第一条非空格 非注释语句 创建包举例 packagemypackage publicclassPerson publicStringname publicintage publicvoidgetInfo System out println name System out println age publicvoideat System out println It sdelicious 导入包 1 使用import语句import包名 标识符 import包名 2 直接使用包java applet Appletap newjava applet Applet 导入包举例 packageyourpackage importmypackage Person classStudentextendsPerson Stringschool publicvoidstudy System out println Studding publicstaticvoidmain String args Students newStudent s name John s age 16 s school 清华大学 s getInfo s study 访问修饰符 访问修饰符 访问修饰符 访问修饰符 访问修饰符的使用 实战 通过对任务六的Person类和Student类设置包和访问修饰符 掌握访问修饰符的使用 包装类 Java语言中专门提供了包装类 将基本类型包装成类 与基本类型对应的包装类有Byte Short Integer Long Character Float Double Boolean和Void 可以完成一些数据的转换 通过通过查看JDK帮助文档自主学习 任务七 从一个代表带有路径的文件名中分离出文件名和路径 类String字符串定义 可以用字符串常量直接初始化一个String对象Strings HelloWorld 通过构造方法 String构造方法的使用举例 Strings s1 s2 s3 s4 s5 s6 s7 bytebyteArray byte J byte a byte v byte a CharcharArray 程 序 设 计 StringBuffersb newStringBuffer 欢迎 s newString Hello s1 newString s2 newString s s3 newString sb s4 newString charArray 2 2 s5 newString byteArray 0 s6 newString charArray s7 newString byteArray 0 0 1 字符串 长度 由length 方法确定 语法 publicintlength 返回字符串中的字符数 String的常用方法 字符串长度 Stringname JohnSmith System out println name length String的常用方法 字符串比较 字符串1 字符串2 字符串1 字符串2 由equals 方法确定 检查组成字符串内容的字符 同一个对象 用 运算符检查 检查字符串是否指向同一个或不同的对象 publicclassStringCompare publicstaticvoidmain String args Strings1 abc Strings2 abc Stringt1 newString abc Stringt2 newString abc System out println s1 s2 System out println s1 equals s2 System out println t1 t2 System out println t1 equals t2 字符串比较举例 程序运行结果如下 truetruefalsetrue 思考 为什么 Java在编译时对字符串常量的存储有一个优化处理策略 相同字符串常量只存储一份 字符串比较方法 搜索字符串 搜索字符串举例 publicclassSearchString publicstaticvoidmain String args Stringname JohnSmith System out println EmailID是 name System out println 的索引是 name indexOf System out println 的索引是 name indexOf if name indexOf name indexOf System out println 该电子邮件地址有效 else System out println 该电子邮件地址无效 提取字符串方法 提取字符串 charch ch orange charAt 3 它将从index 3 中提取单个字符串 n 并将其存储在变量ch中 提取字符串举例 publicclassStringMethods publicstaticvoidmain String args Strings Javaisa platformindependentlanguage Strings1 Helloworld Strings2 Hello System out println s System out println indexoft s indexOf t System out println lastindexoft s lastIndexOf t System out println indexof t 10 s indexOf t 10 System out println s1 substring 3 8 System out println s2 concat World System out println s2 replace l w System out println s1 trim 任务七实现 publicclassGetFilename privateStringfullPath privatefinalcharpathSepatator publicGetFilename Stringfname fullPath fname publicStringgetName intpos fullPath lastIndexOf pathSepatator if pos 1 returnfullPath else returnfullPath substring pos 1 publicStringgetPath intpos fullPath lastIndexOf pathSepatator if pos 1 returnfullPath else returnfullPath substring 0 pos publicstaticvoidmain String args GetFilenamefn newGetFilename F ava myexample a java System out println fn getName System out println fn getPath 更改字符大小写方法 Hello 使用toUpperCase 方法 HELLO HELLO 使用toLowerCase 方法 hello 语法 publicStringtoUpperCase 语法 PublicStringtoLowerCase 更改字符大小写方法举例 publicclassStringTest publicstaticvoidmain String args Stringname newString George System out println 姓名是 name intlength name length System out println 姓名的长度为 length 个字符 System out println 姓名用大写形式表示为 StringnameUppercase name toUpperCase System out println nameUppercase 任务八 判断一个字符串是否为回文 即将一个字符串进行反转 得到的字符串与源串相同 例如原始字符串为 aba 逆转后的字符串也为 aba StringBuffer类 StringBuffer用于表示可以修改的字符串使用连接运算符 的字符串会自动创建字符串缓冲对象 StringBuffer类的方法 不变性 String类 创建后 直接修改 不变性的概念 解决方法 StringBuffer类 String的对等类 表示可增加和可编写字符的可变序列 将字符插入到字符串中间或附加到字符串末尾 不变性举例 publicclassStringBuf publicstaticvoidmain String args StringBufferbuf newStringBuffer Java buf append GuideVer1 buf append 3 intindex 5 buf insert index Student index 23 buf setCharAt index intstart 24 intend 25 buf replace start end 4 Strings buf toString 转换为字符串System out println s 任务八实现 publicclassStringReverse publicstaticvoidmain String args Strings IamaChinese intlen s length StringBufferdest newStringBuffer len for inti len 1 i 0 i dest append s charAt i System out println dest toString main方法的参数 main方法的形参为String类的数组参数args args可以用来接收Java命令行传送给Java应用程序的数据 例如 javaHelloEchoHowareyou 123 若要将包含多个空格的单词作为一个字符串 可用引号括起来 例如 javaHelloEcho Howareyou 123 main方法的参数举例 classCommandLine publicstaticvoidmain Stringargs for inti 0 i args length i System out println args i args i 显示所有命令行参数 Java异常处理 任务九 publicclassExceptionRaised publicExceptionRaised publicintcalculate intoperand1 intoperand2 intresult operand1 operand2 returnresult publicstaticvoidmain String args ExceptionRaisedobj newExceptionRaised intresult obj calculate 9 0 System out println result 异常情况 异常 程序突然终止并将控制交给操作系统 在运行时发生的错误 什么是异常 在程序运行过程中发生的 会打断程序正常执行的事件称为异常 Exception 也称为例外 例如 零用作除数 产生算术异常ArithmeticException 在指定的磁盘上没有要打开的文件 产生文件未找到异常FileNotFoundException 数组下标越界 产生数组下标越界异常ArrayIndexOutOfBoundsException 等 常见异常 异常类的层次 为内部错误 因此在正常情况下不期望用户的程序捕获它们 Java虚拟机在运行时生成的例外 由系统检测 用户可不做处理 系统将它们交给缺省的异常处理程序 程序中可预知的问题 可能会带来意想不到的结果 Java程序必须捕获或声明所有的非运行时异常 异常处理机制 捕获异常 声明抛出异常 throws Try catch 消极的处理方式 积极的处理方式 捕获异常 捕获异常是通过try catch finally语句实现的 try finally catch try和catch块 try catch 异常 单元 任务九的解决方案一 publicclassExceptionRaised publicExceptionRaised publicintcalculate intoperand1 intoperand2 intresult 0 try result operand1 operand2 catch Exceptione System err println 发生异常 e toString e printStackTrace returnresult 指明catch可以捕获并处理的异常类型 调用异常类的方法 异常类的常用方法 实战 阅读下列程序代码 分析程序可能产生的异常情况 捕获并处理异常 publicclassExceptionDemo intarray 1 2 3 4 5 6 7 8 9 0 publicvoidexceptest intj for inti 0 i j i System out println array i array i publicstaticvoidmain Stringargs ExceptionDemoex newExceptionDemo ex exceptest 11 多重catch块2 1 一段代码可能会生成多个异常当引发异常时 按顺序查看每个catch语句 并执行第一个类型与异常类型匹配的语句执行其中的一条catch语句之后 其他的catch语句将被忽略 try catch ArrayIndexOutOfBoundsExceptione catch Exceptione 多重catch块2 2 try catch Exceptione catch ArrayIndexOutOfBoundsExceptione 使用多重catch语句时 异常子类一定要位于异常父类之前 多重catch块示例 classExceptionCode publicvoidcalculate try intnum 0 intnum1 42 num intc 1 2 3 4 c 4 99 catch Exceptione System out println 父类异常catch子句 catch ArithmeticExceptionae 错误 不能到达的代码System out println 这个子类的父类是exception类 且不能到达 classUnreachableCode publicstaticvoidmain String args ExceptionCodeobj newExceptionCode obj calculate finally块 try catch和finally块的执行流程 finally子句可以保证 无论try块中是否抛出异常 finally块中的语句都会被执行到 这样可以对程序的状态作统一的管理 finally语句对增强程序的鲁棒性非常重要 try块 finally块 catch块 无异常 异常 异常处理块的一般形式 try 要监控错误的代码块 catch Exceptione Exceptione的异常处理程序 finally 在try结束前要执行的代码块 finally块示例 publicclassSystemException publicstaticvoidmain Stringargs inta 68 intb 0 try System out println a b 0用作了除数 catch ArithmeticExceptione System out println 0用作了除数 return finally System out println 程序结束 思考 如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省驻马店市汝南县双语学校、清华园学校2025-2026 学年九年级上学期1月期末考试道德与法治试卷(含答案)
- 甘肃省酒泉市2025-2026学年高二(上)期末物理试卷(含答案)
- 湖北省恩施市2025-2026学年七年级上学期历史期末考试题卷(含答案)
- 文秘考试试题及答案
- 数控专业实操考试题及答案
- 生理药理学试题及答案
- 《GAT 1031-2012泄漏电缆入侵探测装置通 用技术要求》专题研究报告
- 2026 年初中英语《语态辨析》专题练习与答案 (100 题)
- 2026年深圳中考语文真题变式训练试卷(附答案可下载)
- 2026年深圳中考英语素养培优强化试卷(附答案可下载)
- 公路成本管理培训
- 2026湖北随州农商银行科技研发中心第二批人员招聘9人笔试模拟试题及答案解析
- 2025年-辅导员素质能力大赛笔试题库及答案
- 2026届湖北省宜昌市部分示范高中教学协作体数学高一上期末教学质量检测试题含解析
- 2025年风电运维成本降低路径报告
- 2026年《必背60题》 计算机科学与技术26届考研复试高频面试题包含详细解答
- 2026年初中奥数试卷真题及答案
- 江苏省教改课题申报书
- 2026年扬州市职业大学单招职业适应性考试题库及完整答案详解1套
- 公司人力资源部2026年工作计划
- 债务重组教学课件
评论
0/150
提交评论