《企业管理系统之面向对象设计.pptx》由会员分享,可在线阅读,更多相关《企业管理系统之面向对象设计.pptx(146页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、威 海 职 业 学 院情境3 产品库存管理系统面向对象设计学习情境描述 要求根据第一个情境的需求分析结果,学生成立项目开发小组,划分角色,推选项目经理和CTO(首席技术师),程序员。经过讨论给出产品库存管理系统中的实体类:入库单、出库单、库存和用户类和控制类接口的详细设计;利用情境2搭建好的环境,对每个类予以编程实现。所需知识q类的定义与对象的创建q构造方法的作用及应用q面向对象三大特征:封装性、继承性和多态性的Java语言实现q抽象类与接口的应用q包的创建与使用q访问控制符的应用q异常处理重点及难点q构造方法的作用及应用q面向对象三大特征:封装性、继承性和多态性的Java语言实现q抽象类与接
2、口的应用q异常处理能力目标q培养学生面向对象的编程能力q培养学生良好的团队合作意识及沟通协调能力、接收新知识的能力 q培养学生分析问题、解决问题的能力、创新能力以及逻辑思维能力 任务一 用Java语言描述现实世界中的Person。p学生讨论确定Person的特征 譬如:name-姓名,age-表示年龄,sex-表示性别等。p确定Person相关的行为 譬如:吃饭、睡觉等。用Java语言实现Person类复习引入面向对象与面向过程的区别?面向对象编程 面向对象编程是软件设计与实现的有效方法,它将客观世界中存在的事物看作对象,每个客观事物都有自己的特征和行为。对象的基本概念 变量方法在现实生活中
3、在计算机程序中客观世界的实体 程序中对象对象具有两方面的含义(考虑从哪些方面描述对象)面向对象的基本概念类是抽象的,对象是具体的q具有相同特征和行为的对象被抽象为类。q类是对象的模板,包括一个对象的所有数据和代码。类的示例形状类动物类汽车类对象对对 象象面向对象编程的核心为计算机应用程序提供实用基础完成特定任务表示现实世界中的实体“对象是存在的具体实体,具有明确定义的状态和行为。”对象的示例收银员对象 顾客对象顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品状态姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印帐单行为消息传递“消息指一个对象为执行某项特定操作而向另一个对象发
4、送的请求”消息传递 消息传递当需要执行一项特定操作时,通过向已为其定义此项操作的对象发送消息来请求对象之间通过传递消息实现相互通信类和对象的示例雇员收银员 系统管理员 仓库管理员 促销员采购经理面向对象技术的实现对象类实例化 抽象计算机世界实体抽象数据类型现实世界抽象映射计算机逻辑的实现对象、类和实体的关系类是创建对象的模板,对象是类的实例类的基本概念 现实生活中的对象class Car int color;int name;int speed;void brake()void speedUp()void slowDown()抽象数据类型程序中的对象映射描述实现类定义类定义中必须要写类名,应该
5、使用Java语言合法的标识符来命名类名不能与java中已定义好的类名相同格式:修饰符class 类名 extends 父类名 implements 接口名表 成员变量声明 方法成员声明 其中class、extends和implements都是Java的关键字。类的声明类体类中的方法 6-1方法的定义方法的名称参数列表方法的主体方法返回的对象类型或原始类型方法体 若局部变量与类的成员变量同名,则类的成员变量被隐藏。方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局部变量的作用域在该方法内部。类的定义举例class Car int color;int name;
6、int speed;void brake()void speedUp()void slowDown()类的实现任务一实现class PersonString name;int age;String sex;public void eat()System.out.println(Its delicious!);【实战】:定义一个名为Rectangle表示长方形的类,它包含double类型的长length和宽width两个数据成员和设置长方形长宽值的方法setDim()、计算长方形面积的方法area()。类的实现对象的创建实例化 初始化对象的声明对象的创建声明 类名 对象名;声明并不为对象分配内存
7、空间,而只是分配一个引用空间实例化 类名 对象名=new 类名()例:Person p=new Person();运算符new为对象分配内存空间,它调用对象的构造方法,返回引用初始化另外执行构造方法,可进行初始化 当一个变量被创建时,会对其中各种类型的成员变量自动按下表进行初始化赋值。对象的使用访问对象成员的一般形式为:对象名.成员变量名 对象名.成员方法名()运算符”.”在这里称为成员运算符创建对象举例classTestPersonpublicstaticvoidmain(Stringargs)Personp1=newPerson();p1.name=Tom;p1.age=12;p1.sex
8、=male;p1.eat();按照前面设计Person类来充当生产车间,创建Person对象任务二 通过构造方法,初始化Person类的实例,为其成员变量赋初值。构造方法 在Java中,任何变量在被使用前都必须先设置初值。Java提供了为类的成员变量赋初值的专门功能:构造方法。构造方法的特点q构造方法名与类名相同。q构造方法不返回任何值,也没有返回类型。q每一个类可以有零个或多个重载的构造方法。若没有为一个类显式的定义构造方法,则当创建类对象时,编译器将自动为它创建一个没有参数的默认构造方法.q构造方法只能在创建对象时通过new关键字来自动调用。注意:一旦我们自己定义了构造方法,系统将不再为我
9、们提供默认的不带参数的构造方法。class PersonString name;int age;String sex;public Person(String s1)name=s1;public Person(String s1,int x)name=s1;age=x;任务二实现public Person(String s1,int x,String s2)name=s1;age=x;sex=s2;public void eat()System.out.println(Its delicious!);class TestPersonpublic static void main(String
10、args)Person p1=new Person(Tom);Person p2=new Person(John,20);Person p3=new Person(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引用句柄q构造方法的形式参数与类的成员变量名相同q在构造方法中调用其他重载的构造方法,用this(参数列表)的形式自主学习内部类的定义和使用。面向对象的基本特征封装性、继承性、多态性是面向对象的三个主要特性。特征 描述封装性通过提供一个或多个公有(public)方法,实现对该类的私有成员变量的访问和修改 继承性通过extends关键字实现子类继承父类的所有非私有成员 多态性通过方法重载和方法重写 实现方法的多态性