




已阅读5页,还剩140页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
场景3产品库存管理系统是面向对象的设计,学习场景描述,要求学生建立一个项目开发团队,划分角色,并根据第一个场景的需求分析结果选择项目经理、首席技术官和程序员。经过讨论,给出了产品库存管理系统中实体类的详细设计,包括入库单、出库单、库存、用户类和控制类接口。使用场景2来构建一个良好的环境,并为每个类编写程序。所需的知识、类的定义和创建和构造对象的方法的功能,以及面向对象应用的三个特征:实现抽象类和接口的应用包的创建和使用访问控制符号的应用异常处理的Java语言的封装、继承和多态性,构建方法的功能和面向对象应用的三个特征:实现抽象类和接口的应用异常处理的Java语言的封装、继承和多态性,以及能力目标。培养学生的面向对象编程能力,培养学生良好的团队合作意识和沟通协调能力,接受新知识,培养学生分析问题、解决问题、创新和逻辑思维能力。任务1,用Java语言描述现实世界中的人。学生们讨论并确认了人名、年龄、性别等人的特征。识别与人相关的行为,如吃饭、睡觉等。如何使用Java语言实现Person类,回顾一下介绍、面向对象和面向过程之间的区别?面向对象编程,面向对象编程是软件设计和实现的有效方法。它把客观世界中存在的事物视为对象,每个客观事物都有自己的特点和行为。对象、变量、方法、客观世界的实体、程序中的对象和对象的基本概念有两层含义(考虑从哪个方面描述对象)。面向对象的基本概念,类是抽象的,对象是具体的,具有相同特征和行为的对象被抽象成类。类是对象的模板,包括对象的所有数据和代码。类、形状类、动物类、汽车类、对象、“对象是具有明确定义的状态和行为的具体实体”对象示例,收银员对象,客户对象,客户名称:朱丽叶年龄:28体重:52公斤操作:购买商品,状态,名称:布兰尼标题:收银员年龄:35体重:60公斤操作:收据打印账单,行为,消息传递、”消息是指由一个对象发送到另一个对象的请求,以执行特定的操作,“对象的类和示例,员工,收银员,系统管理员,仓库管理员,面向对象技术的实现,对象之间的关系,类和实体,类是创建对象的模板,对象是类的实例,类的基本概念intnameintspeed空闸().空载加速().无效减速().、抽象数据类型、程序中的对象、映射、描述、实现、类定义、类名必须写在类定义中,并且类名应该使用java语言中的合法标识符来命名。类名不能与已经在Java中定义的类名相同。格式:修饰符类名扩展父类名实现接口名称表成员变量声明方法成员声明,其中类、扩展和实现是Java关键字。类中的方法6-1,方法名,参数列表,方法体,对象类型或方法返回的原始类型,方法体,如果局部变量与类的成员变量同名,则类的成员变量被隐藏。方法体是方法的实现,它包括局部变量的声明和所有合法的Java指令。方法体中声明的局部变量的范围在方法内部。例如,类的定义,classCar intcolorintnameintspeed空隙制动器().无效加速().无效减速().,类实现,任务实现,类人 StringnameintageStringsexpublic void eat() system . out . println(太好吃了!);,实战:定义一个名为矩形的类来表示矩形,它包括两个双类型的数据成员,即长和宽、类实现、对象创建、声明、类名、对象名;该声明不为对象分配内存空间,而仅分配引用空间、实例化、类名、对象名=新类名()、示例:Personp=NewPerson();运算符new为对象分配内存空间。它调用对象的构造方法,返回引用,初始化,并执行构造方法来初始化。创建变量时,它会自动按下下表来初始化各种类型的成员变量并为其赋值。使用对象时,访问对象成员的一般形式是:对象名、成员变量名、对象名、成员方法名()、操作符 。此处称为成员操作符,创建一个对象的示例,class testerson publicstaticulatormain(string)args) person P1=new person();姓名=汤姆;p1 .年龄=12岁;p1 .性别=男性;P1 . eat();,根据以前设计的Person类充当生产车间,创建Person对象,任务2,通过构造方法,初始化Person类实例,为其成员变量赋值初始值。在Java中,任何变量在被使用之前都必须有它的初始值。Java提供了一个特殊的函数,将初始值分配给一个类的成员变量:构造方法。构造方法的特征,构造方法名称与类名相同。构造函数不返回值也不返回类型。每个类可以有零个或多个重载的构造方法。如果没有为类显式定义构造方法,编译器将在创建类对象时自动创建一个不带参数的默认构造方法。创建对象时,只能通过new关键字自动调用构造方法。注意:一旦我们自己定义了构造方法,系统将不再为我们提供没有参数的默认构造方法。classPerson StringnameintageStringsexpublic person(Strings 1) name=S1;publicPerson(Strings1,intx) name=S1;年龄=x;,任务2实现,公众人物(strings1,intx,string S2) name=S1;年龄=x;性别=s2 public void eat() system . out . println(太好吃了!);,ClassTestPerson publicstaticvourimain(字符串)参数) Personp1=新个人( Tom );人2=新人(约翰,20);个人3=新人(“鲍勃”,22岁,“男性”);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);,通过为构造方法分配初始值,这是指句柄,构造方法的形式参数与类的成员变量名相同,在构造方法中调用其他重载的构造方法,内部类的定义和使用以此(参数列表)的形式自主学习。面向对象的基本特征,封装性,继承性和多态性是面向对象的三个主要特征。封装的引入,classPerson StringnameintageStringsexpublic void eat() system . out . println(太好吃了!);,ClassTestPerson publicstaticulatormain(字符串)参数) PersonP1=NewPerson();姓名=汤姆;p1 .年龄=-12岁;/非法值P1.sex= malp1的时代是:“P1时代”;,通过例子启发学生思考为什么引入封装?封装实现,外界所谓的封装,就是信息隐藏,对用户隐藏对象的实现细节,例如3-1的封装,接口,采购经理,罗杰斯老师,法拉利公司,迪士尼汽车公司,营销经理,雪莉女士,需求,3-2的封装,有选择地提供数据,法拉利公司,迪士尼汽车公司,3-3的封装,另外,使用这种方法也很难找到办法。public vourisetage(inti) if(i130)返回;年龄=I; PublicIntGetage() return age;、将其设置为私有、将方法设置为公共、封装的好处、任务3、定义子类学生类的Person类继承,类继承是指一个类可以继承其他类的非私有成员,实现代码重用。继承的类称为父类,继承父类后生成的类称为子类。继承,继承,父类,子类,继承的实现,类子类扩展超类,继承在Java中是通过extensions关键字实现的。,关键字,任务3实现,class studentextends person string school;public vourity study() system . out . println( Studing );publicstaticvoidmain(字符串)参数) Personp=NewPerson();姓名=汤姆;p .年龄=30岁;p . GetInfo();学生=新闻学生();姓名=约翰;年龄=16岁;美国学校=“清华大学”;s . GetInfo();s . study();在Java语言中,只允许单一继承。继承的优点构造方法不能继承,但是在创建对象时,子类必须初始化从父类继承的成员。因此,除了执行子类的构造方法之外,在创建子类时有必要调用父类的构造方法,遵循以下原则:当子类没有定义构造方法时,它将在创建对象时无条件地调用父类的无参数构造方法。对于父类的带参数的构造方法,子类可以使用super在其自己的构造方法中调用它,但是super call语句必须是子类构造方法中的第一个可执行语句;如果子类在其自己的构造方法中没有用super显式调用父类的构造方法,它将在创建对象时执行其自己定义的构造方法之前自动执行父类的无参数构造方法。任务4:重写学生类从上面示例中的父类继承的所有非私有方法,多态,通过方法重写实现的动态多态(运行时多态),通过方法重载实现的静态多态(编译时多态),多态,方法重写,类矩形 intlengthintwidth矩形(整数,整数)长度=整数;宽度=wid/*计算矩形的周长。*/Virtugetperimeter()系统输出. println(“矩形的周长是(2*(长宽);,方法重写,class squerextensionangle square(length) length=length;/*计算周长。*/空隙周长()系统输出打印长度(“正方形的周长是”(4 *长);,publicstaticvoidmain(字符串)参数)矩形矩形=新矩形(10,15);rectObj .Get周界();RectanglesqObj=newSquare(15);sqobj .Get周界();,调用父类方法,调用子类方法,任务4实现,classPerson publicStringname公共服务;public vourigetinfo() system . out . println(名称);系统输出打印输入(年龄); public void eat() system . out . println(太好吃了!); ClassStudentExtendsPerson Stringschool;public vourity study(),system . out . println( Studing ); PublicValueGetInfo() system . out . println(名称);系统输出打印输入(年龄);系统输出打印(学校);publicstaticvoidmain(字符串)参数) Personp=NewPerson();姓名=汤姆;p .年龄=30岁;p . GetInfo();学生=新闻学生();姓名=约翰;年龄=16岁;s学校=塔山小学;s . GetInfo();s . study();、多态性和“实战”:通过分析和编程实现上图,成员方法涵盖了应该注意的问题。覆盖方法的方法名、返回类型和参数列表必须与其覆盖的方法相同。覆盖方法的可访问性不能低于它所覆盖的方法。覆盖方法不能抛出比它覆盖的方法更多的异常。成员变量的覆盖。如果子类声明了一个与父类同名的变量,父类的变量被隐藏,子类的变量被直接使用,但是父类的变量仍然占用空间,可以通过super或父类名来访问。程序运行结果:子类:200超类3336100,成员变量覆盖率,classA intx=100 classBextendsA intx=200无效打印()系统输出打印输入(子类: x);system . out . println(“super clas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030二手车交易平台商业模式与消费者行为调研分析报告
- 2025-2030中国青年公寓行业产业链整合与投资机会研究报告
- 2025-2030中国青年公寓市场运营模式与盈利策略研究报告
- 2025-2030中国青年公寓市场租赁需求变化与投资策略调整报告
- 广东省三校2025届高三上学期第一次联合模拟语文试题(含答案)
- 打造智能睡眠环境:2025年智能可穿戴设备技术创新报告
- 山东省潍坊市寒亭区2026届九年级数学第一学期期末学业质量监测模拟试题含解析
- 智能地质数据库-洞察及研究
- 2026届陕西省西安市交通大附属中学化学九上期末经典试题含解析
- 2026届陕西省安康市旬阳县英语九上期末统考模拟试题含解析
- 鞋类制作工艺流程
- 电信研发工程师L1认证培训考试复习题库(含答案)
- 《中华人民共和国学前教育法》专题培训
- 公路水泥混凝土路面施工方案
- 数字经济学 课件全套 第1-15章 数字经济学基础 - 数字经济监管
- 辽宁省抚顺市新抚区2024-2025学年九年级上学期第一次月考数学试题(含答案)
- 校园消毒知识学习培训
- 中医适宜技术-中药热奄包
- 关于成立低空经济公司可行性分析报告
- 2024年第九届“学宪法、讲宪法”竞赛题库试卷及答案
- 配电室运行维护投标方案
评论
0/150
提交评论