欢迎来到天天文库
浏览记录
ID:43091648
大小:536.50 KB
页数:39页
时间:2019-09-29
《Java基础教程 (5)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java编程技术基础第一章面向对象原理与实现我们的目标了解软件危机了解面向过程的软件设计方法了解面向对象的软件设计方法熟悉面向对象系统的基本概念了解Java程序的基本设计方法IT技术的发展与软件危机随着计算机硬件技术的飞速发展,计算机的容量、速度迅速提高,计算机取得了越来越广泛的应用,这就对软件开发提出了更高的要求然而软件技术的进步却远远滞后于硬件技术的进步,人们常常无法控制软件开发的周期和成本,软件的质量总是不尽人意,经常是用之不灵、弃之可惜,有的软件甚至无法交付,这种状况人们称之为“软件危机”面向过程的软件设计方法为了摆脱软件危机,必须按照工程化的原则和方法来组织软件开发工作二十世纪七十
2、年代流行的面向过程的软件设计方法,目的主要是解决面向过程语言系统的设计问题。它主要强调程序的模块化和自顶向下的功能分解在涉及大量计算的算法类问题上,从算法的角度揭示事物的特点,面向过程的分割是合适的面向过程的软件设计方法但是现在的软件应用涉及社会生活的方方面面,面对变动的现实世界,面向过程的设计方法暴露出越来越多的不足例如功能与数据分离,不符合人们对现实世界的认识,要保持功能与数据的相容也十分困难基于模块的设计方式,导致软件修改困难自顶向下的设计方法,限制了软件的可重用性,降低了开发效率,也导致最后开发出来的系统难以维护面向对象的软件开发方法为了解决结构化程序设计的这些问题,面向对象的技术应
3、运而生。它是一种非常强有力的软件开发方法它将数据和对数据的操作作为一个相互依赖、不可分割的整体,采用数据抽象和信息隐蔽技术,力图使对现实世界问题的求解简单化它符合人们的思维习惯,同时有助于控制软件的复杂性,提高软件的生产效率,从而得到了广泛的应用面向对象的技术是目前最为流行的一种软件开发方法面向对象现实世界中所有的事物都是对象对象都具有某些特征,并展现某些行为面向对象示例公司中的不同部门都是对象人事会计销售面向对象示例按照实体在现实世界中的表现来实现将活动和属性与每一实体相关联数据员工详细资料工资结算表票据凭证收据活动计算工资支付工资支付帐单记帐银行交易会计面向对象系统的基本概念可以这样认为
4、:面向对象=对象+类+继承+通信如果一个软件系统是使用这样四个概念来设计和实现的,我们认为这个软件系统是面向对象的相关概念对象类抽象继承封装可重用性多态性关于对象现实对象存在于客观世界的实体物理对象一辆汽车、一个人、一本书概念实体一种语言、一个图形、一种管理方式程序对象构成程序的实体对象的用途帮助理解现实世界为计算机应用提供实践基础现实对象车型:法拉利颜色:红色年份:1995活动发动停车加速程序对象计算机用户环境中的元素窗口菜单数据集合机器零件清单员工档案用户自定义的数据类型时间角度复数对象的特征对象有其自身的表现数据,而且可以进行某些活动表现数据活动停车发动加速倒车颜色重量年份
5、发动机功率关于类类是一组具有相同数据结构和相同操作的对象的集合类建立了现实对象到程序对象的桥梁类是对一系列具有相同性质的现实对象的抽象,是对现实对象共同特征的描述程序对象都是类的实例,同一类的实例对象具有相同数据结构,但有不同的值相同操作类中的数据结构叫属性类中的操作叫方法从现实对象到类多边形对象多边形类属性顶点边的颜色填充颜色方法绘制擦除移动抽象为属性1方法1属性3方法2抽象—1考察特定应用程序相关问题的某些方面的过程Class抽象—2数据抽象是识别特定实体的属性和方法的过程属性方法类抽象—3抽象分为两类数据抽象识别与特定的应用程序相关的属性过程抽象将注意力集中在过程的参数和返回值,而不是
6、实现关于继承继承重用现有类生成新类可重用性通过继承来实现动物昆虫哺乳动物爬行动物人类非人类继承的双方超类是有其他类继承其行为的类继承其他类的类称为子类动物关于封装信息隐藏的过程有选择的数据隐藏防止意外的数据破坏更易于隔离和修复错误封装的有选择地隐藏封装是允许有选择地隐藏类中的属性和方法的过程在类的外部不能访问在类的外部可以访问私有公有类可重用性程序可以分解为可重用的对象现有类可以和附加功能一起使用形状可重用性示例猫科动物发出声音进食/饮水捕食猎物喵喵叫喝牛奶捕食老鼠吼叫吃肉捕食大型猎物多态性同样的函数在不同的类上有不同的行为类–艺术家舞蹈家诗人雕刻家对各个子类实现的方法将产生不同的结果多态性
7、示例类:形状方法:绘制移动初始化子类什么是Java编程语言Java是一种编程语言一种开发环境一种应用环境一种部署环境句法与C++相似,语义与SmallTalk相似用来开发applets,又用来开发applicationsJava编程语言的基本特点简单面向对象分布式健壮性安全体系结构中立可移植性解释执行高性能多线程动态Java运行环境编译时.java(源代码).class(字节码)运行时类加载器字节码校验器解释
此文档下载收益归作者所有