java程序设计教程课件07面向对象程序设计1

上传人:pu****.1 文档编号:586611369 上传时间:2024-09-05 格式:PPT 页数:19 大小:162.50KB
返回 下载 相关 举报
java程序设计教程课件07面向对象程序设计1_第1页
第1页 / 共19页
java程序设计教程课件07面向对象程序设计1_第2页
第2页 / 共19页
java程序设计教程课件07面向对象程序设计1_第3页
第3页 / 共19页
java程序设计教程课件07面向对象程序设计1_第4页
第4页 / 共19页
java程序设计教程课件07面向对象程序设计1_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《java程序设计教程课件07面向对象程序设计1》由会员分享,可在线阅读,更多相关《java程序设计教程课件07面向对象程序设计1(19页珍藏版)》请在金锄头文库上搜索。

1、2009年浙江工业大学软件学院Java程序设计视频教程Java程序设计视频教程本讲主题:面向对象程序设计第3章 面向对象程序设计(1)o类和对象的基本概念类和对象的基本概念o面向对象程序设计基本思想面向对象程序设计基本思想23.1 类和对象的基本概念类和对象的基本概念o对象是客观世界中的某个具体事物,对象是客观世界中的某个具体事物,对象的概念是象的概念是面向面向对象技象技术的核心。的核心。o面向面向对象技象技术中的中的对象就是象就是现实世界中某个具体的世界中某个具体的物理物理实体在体在计算机算机逻辑中的映射和体中的映射和体现,它可以是,它可以是有形的,也可以是无形的。有形的,也可以是无形的。o

2、比如:比如:电视是一个具体存在的,是一个具体存在的,拥有外形、尺寸、有外形、尺寸、颜色等外部特性色等外部特性(或称属性或称属性)和开、关、和开、关、设置等功能置等功能的的实体。体。33.1.1对象的基本概念对象的基本概念o从程序设计的角度来看,事务的属性或特性从程序设计的角度来看,事务的属性或特性可以用可以用变量变量来表示,行为或功能则用来表示,行为或功能则用方法方法来来反映反映o面向对象的程序设计方法就是面向对象的程序设计方法就是将客观事物抽将客观事物抽象成为象成为“类类”,并通过类的,并通过类的“继承继承”实现软实现软件的可扩充性和可重用性件的可扩充性和可重用性43.1.2类类(class

3、)o类是同种是同种对象的集合与抽象。象的集合与抽象。 在面向在面向对象的程序象的程序设计中,定中,定义类的概念来的概念来表述同种表述同种对象的公共属性和特点。象的公共属性和特点。o类是一种抽象的数据是一种抽象的数据类型,它是具有一定共型,它是具有一定共性的性的对象的抽象,而属于象的抽象,而属于类的某一的某一对象象则被被称称为是是类的一个的一个实例,是例,是类的一次的一次实例化的例化的结果。果。5对象示例对象示例n日常接触的日常接触的电视有很多,如松下有很多,如松下电视、长虹虹电视等都属于等都属于电视的范畴,的范畴,这些些实体在面向体在面向对象的程象的程序序设计中将被映射成不同的中将被映射成不同

4、的对象。不象。不难看出,看出,这些代表不同的些代表不同的电视实体的体的对象之象之间存在着很多存在着很多实质性的共同点。性的共同点。 n类是抽象的概念,如是抽象的概念,如“电视”类定定义了所有的了所有的电视,对象就是某一台具体的象就是某一台具体的电视,如,如“小王的那台小王的那台2008年出年出产的的创维牌牌42吋液晶吋液晶电视”,即,即为电视这个个类的一个的一个实例。例。63.2面向面向对象程序象程序设计基本思想基本思想o3.2.1面向对象技术是程序设计发展的必然趋势面向对象技术是程序设计发展的必然趋势面向过程的程序设计语言面向过程的程序设计语言数据和程序的相容性差安全性差代码可重用性差 面向

5、对象的程序设计语言面向对象的程序设计语言高效率、易维护、安全性强、代码可重用率高效率、易维护、安全性强、代码可重用率高。高。 73.2 面向面向对象技象技术的思想的思想o面向对象程序设计(Object Oriented Programming,简称OOP),是基于一种很自然和朴素的思想。o计算机软件开发的过程就是人们使用各种计算机语言将现实世界映射到计算机世界的过程。计算机系统通常是在一定对象上执行一定行为的操作,要获得灵便和可重用的系统,最好的办法就是将软件结构建立在对象上,而不是行为之上,使计算机求解问题更加类似于人类的逻辑思维活动,让程序设计按照我们平时认识客观世界的方式进行。83.3

6、用面向用面向对象程序象程序设计解决解决实际问题o首先首先将将实际存在的存在的实体抽象成概念世界的抽象数据体抽象成概念世界的抽象数据类型型,这个抽象数据个抽象数据类型里面包括了型里面包括了实体中与需要解决的体中与需要解决的问题相关的数据和属性;相关的数据和属性;o然后再然后再用面向用面向对象的工具象的工具,如,如java语言,将言,将这个抽象个抽象数据数据类型用型用计算机算机逻辑表达出来,即表达出来,即构造构造计算机能算机能够理理解和解和处理的理的类;o最后最后将将类实例化就得到例化就得到了了现实世界世界实体的面向体的面向对象的映象的映射射对象象,在程序中在程序中对对象象进行操作行操作,就可以模

7、,就可以模拟现实世界中的世界中的实体上的体上的问题并解决之。并解决之。93.4 3.4 对象、实体与类关系图对象、实体与类关系图抽象数据类抽象数据类概念世界概念世界实体实体现实世界现实世界对象对象类类计算机逻辑的实现计算机逻辑的实现映射映射103.5 案例:学生成绩查询系统案例:学生成绩查询系统 1.教师登录系统后可输入授课课程的成绩供学教师登录系统后可输入授课课程的成绩供学生查询,并可统计学生的平均成绩和各等级生查询,并可统计学生的平均成绩和各等级的学生人数;的学生人数;2.学生登录系统后可查询自己的各门课程成绩;学生登录系统后可查询自己的各门课程成绩;3.为学生和教师提供实时互动聊天功能,

8、以支为学生和教师提供实时互动聊天功能,以支持学生平时的协作学习。持学生平时的协作学习。 11系统分析系统分析(1):确定对象:确定对象o找出问题描述领域中的主要名词找出问题描述领域中的主要名词o对象可能是:对象可能是: 简单的或复杂的(如学生,课程)简单的或复杂的(如学生,课程) 真实的或概念的(如课程成绩)真实的或概念的(如课程成绩)o对象有:对象有: 属性属性 操作操作(或功能行为或功能行为)12确定学生成绩查询系统中的对象确定学生成绩查询系统中的对象o学生成绩查询系统对象可能有学生成绩查询系统对象可能有学生教师JAVA程序程序设计设计课程Lee 80John 75Mark 90Henry

9、 65Flank 82成绩13测试对象测试对象o与问题域的相关性与问题域的相关性对象是否在问题陈述的界限之内?对象是否在问题陈述的界限之内?系统是否必须有此对象才能完成任务?系统是否必须有此对象才能完成任务?在用户与系统的交互中是否必须有此对象?在用户与系统的交互中是否必须有此对象?o独立存在性独立存在性对象之间可以是相关的,但仍是独立存在的对象之间可以是相关的,但仍是独立存在的评估一个可能的对象是否有此特征时,应考虑此对象是否评估一个可能的对象是否有此特征时,应考虑此对象是否需要独立存在,而不是作为另外一个对象的属性而存在需要独立存在,而不是作为另外一个对象的属性而存在o要有属性和操作要有属

10、性和操作14系统分析系统分析(2):确定对象属性和操作:确定对象属性和操作o属性:是对象的特征,属性知道某些事情。属性:是对象的特征,属性知道某些事情。可以是数据或对象可以是数据或对象对学生对象来说,可能包括学号和选修课程对学生对象来说,可能包括学号和选修课程o操作:是对象执行的动作,操作根据所知道的操作:是对象执行的动作,操作根据所知道的来做某些事情。来做某些事情。可以是对象做出的或施加给对象的动作,往往可以是对象做出的或施加给对象的动作,往往会影响对象的属性会影响对象的属性对教师对象来说,可能是上报成绩和修改成绩对教师对象来说,可能是上报成绩和修改成绩15学生成绩查询系统学生成绩查询系统案

11、例研究中的对象可能的属性案例研究中的对象可能的属性和操作和操作o学生学生属性有姓名、性别、学号、班级、专业、院系、属性有姓名、性别、学号、班级、专业、院系、学校、登录名和密码等学校、登录名和密码等操作有登录、查询成绩和聊天等操作有登录、查询成绩和聊天等o教师教师属性有姓名、性别、工号、院系、学校、登录名属性有姓名、性别、工号、院系、学校、登录名和密码等和密码等操作有登录、上报成绩、统计成绩、查询成绩、操作有登录、上报成绩、统计成绩、查询成绩、修改成绩以及聊天等修改成绩以及聊天等16学生成绩查询系统学生成绩查询系统案例研究中的对象可能的属性案例研究中的对象可能的属性和操作(续)和操作(续)o课程

12、课程属性课程名、课程编号、学时、学分、学期、属性课程名、课程编号、学时、学分、学期、授课教师和选修学生等授课教师和选修学生等操作有设置授课教师、获取授课教师、设置选操作有设置授课教师、获取授课教师、设置选修学生和获取选修学生等修学生和获取选修学生等o成绩成绩属性有课程、学生和分数等属性有课程、学生和分数等操作有设置课程、获取课程、设置学生、获取操作有设置课程、获取课程、设置学生、获取学生、设置分数和获取分数等学生、设置分数和获取分数等17系统分析系统分析(3):为对象建模:为对象建模CoursenamecourseIDtermclassHourcreditHourteacherstudents

13、setTeacher()getTeacher()setStudent()getStudent()ScorecourseIDstudentIDscoressetScore()getScore()setStudentgetStudentsetCoursegetCourseStudentnamesexstuIDclassnamemajorcollegeSchoolloginNamepasswordlogin()searchScore()chat()TeachernamesexteacherIDcollegeSchoolloginNamepasswordlogin()reportScore()statisticsScore()inquireScore()modifyScore()chat()对象对象属性属性操作操作18作业:简单图书管理系统分析3.1简单图书管理系统功能包括读者可以借书简单图书管理系统功能包括读者可以借书和还书以及查询个人借阅信息和查询图书信和还书以及查询个人借阅信息和查询图书信息,图书管理员可管理书籍基本信息和读者息,图书管理员可管理书籍基本信息和读者基本信息、更新图书借阅或归还信息以及更基本信息、更新图书借阅或归还信息以及更新图书状态等。新图书状态等。 请分析该系统,给出对象,并为对象建模。请分析该系统,给出对象,并为对象建模。19

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号