1 / 33

Java 语言与面向对象的程序设计 对外经济贸易大学 信息学院 贺宇 13601059982 hyraymond@126

Java 语言与面向对象的程序设计 对外经济贸易大学 信息学院 贺宇 13601059982 hyraymond@126.com. 参考书目. 更多 java 技术 www.javasoft.com java.sun.com. 教材 Java 语言与面向对象程序设计 ( 第 2 版 ) 印晏 编著 清华大学出版社 参考资料 Java 编程思想,第 2 版,候捷译,计算机科学丛书,机械工业出版社

suki-stuart
Download Presentation

Java 语言与面向对象的程序设计 对外经济贸易大学 信息学院 贺宇 13601059982 hyraymond@126

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java语言与面向对象的程序设计对外经济贸易大学信息学院贺宇13601059982hyraymond@126.comJava语言与面向对象的程序设计对外经济贸易大学信息学院贺宇13601059982hyraymond@126.com

  2. 参考书目 更多java技术 www.javasoft.com java.sun.com 教材 • Java语言与面向对象程序设计(第2版) 印晏 编著 清华大学出版社 参考资料 • Java编程思想,第2版,候捷译,计算机科学丛书,机械工业出版社 • The Java Tutorial, a practical guide for programmers, http://java.sun.com/docs/books/tutorial • Thinking in Java, 3rd Edition Revision 4.0, Bruce Eckel • The JavaTM Virtual Machine Specification, 2nd Edition, Tim Lindholm, Frank Yellin • The Java Language Specification, 2nd Edition, James Gosling, Bill Joy, Guy Steele, Gilad Bracha • 面向对象的系统分析(设计)(2本更高层次的书籍) 清华大学出版社 邵维忠 杨芙清 著

  3. Java语言与面向对象程序设计(第2版) • 作者:印旻等 • 注意是第2版本 • 出版社:清华大学出版社·页码:397 页码·出版日:2007年·ISBN:9787302158363·条码:9787302158363·版次:2007年11月第1版·装帧:平装·开本:16开 • 卓越价:¥26.40 折扣:78折 节省:7.60元 • VIP 价:¥26.40 SVIP价:¥26.40

  4. 面向对象的程序设计 • 面向对象(Object-oriented) • 程序(Program, Code) 算法+数据结构(面向过程的程序设计) 对象+消息(面向对象的程序设计) • 程序设计(Programming, Coding) 是指设计、编制、调试程序的方法和过程。

  5. 课程简介 • 介绍面向对象的理论,以JAVA为例,详细介绍面向对象编程技术,讲述面向对象的抽象、封装、继承性和多态,讲授信息隐蔽、可复用、易修改、易扩充等特性的程序设计。同时介绍在图形界面下编程的一般方法。本课程为信息管理与信息系统专业、电子商务专业学生开设。

  6. Why OO? • 问题域和求解域的一致 • OOA/OOD/OOP/OOT

  7. 面向对象程序设计优点 • 开发时间短,编码效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。 • 应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。

  8. Why java?(1) 2006年 • 5 million software developers • worldwide use in every major industry segment, and a presence in a wide range of devices, computers, and networks of any programming technology. • In fact, its versatility, efficiency, platform portability, and security have made it the ideal technology for network computing, so that today, Java powers more than 2.5 billion devices: • over 800 million PCs • over 1.2 billion mobile phones and other handheld devices • 1.65 billion smart cards • set-top boxes, printers, web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, etc.

  9. Why java?(2) • Today, you can find Java technology in networks and devices that range from the Internet and scientific supercomputers to laptops and cell phones, from Wall Street market simulators to home game players and credit cards -- just about everywhere.

  10. Why Software Developers Choose Java Technology • The Java programming language has been thoroughly refined, extended, tested, and proven by an active community of over five million software developers. Mature, extremely robust, and surprisingly versatile Java technology has become invaluable in allowing developers to: • Write software on one platform and run it on practically any other platform • Create programs to run within a web browser and web services • Develop server-side applications for online forums, stores, polls, HTML forms processing, and more • Combine Java technology-based applications or services to create highly customized applications or services • Write powerful and efficient applications for mobile phones, remote processors, low-cost consumer products, and practically any device with a digital heartbeat

  11. 不同语言使用对比 • Position • Feb 2008 Position • Feb 2007 Delta in Position Programming Language Ratings • Feb 2008 Delta • Feb 2007 Status • 1 1 Java 21.483% +2.50% A • 2 2 C 14.859% -1.24% A • 3 5 (Visual) Basic 11.604% +3.24% A • 4 4 PHP 9.890% +1.04% A • 5 3 C++ 9.274% -1.49% A • 6 6 Perl 6.205% +0.13% A • 7 7 Python 4.763% +1.20% A • 8 8 C# 4.510% +1.32% A • 9 12 Delphi 2.798% +0.72% A • 10 9 javascript 2.334% -0.65% A

  12. 某公司招聘 • 职位1 • 1、本科以上学历,计算机或相关专业。 2、30岁以下。3、有三年以上软件开发经验,其中至少有两年Java开发经验。 4、精通 JAVA/JSP/Servlet/XML 编程。 5、熟悉常见数据库如 Oracle;熟悉常见的应用服务器如Tomcat,weblogic等;对OOA/OOD/UML 有一定的理解。 6、有独立工作能力,工作踏实认真。 7、能承受较强的工作压力和工作强度。 8、有较强的团队协作精神。*有SCJP认证证书者优先

  13. 职位2 • 岗位职责: 参加基于JAVA技术的商务网站的开发; 参与需求分析、系统架构设计、概要设计、详细设计,并负责完成核心代码; 根据开发规范与流程独立完成模块的设计、编码、测试以及相关文档; 指导开发,编写各类技术文档; 所属各类项目/产品的设计、开发与维护工作; 任职要求: • 本科(含)以上学历,计算机、数学或相关专业毕业; • 熟悉面向对象系统方法 • 熟练掌握web的应用开发,熟悉J2EE架构; • 精通JAVA程序开发,有j2ee开发经验 熟悉struts,Hibernate及Spring • 有2年以上网站及相关系统开发经验,具备深厚的编程功底; • 熟悉HTML、JavaScript、JSP、Servlet; • 熟悉大型关系型数据库oracle,精通SQL语句。

  14. 课程内容

  15. 第一章面向对象的软件开发概述

  16. contents • 面向对象问题求解的提出 • 面向对象问题求解概述 • 对象、类和实体 • 对象的相互关系 • 面向对象的软件开发过程 • 面向对象程序设计方法的优点

  17. 1 面向对象问题求解的提出 • 早期面向机器程序 • 面向过程的程序 数据结构+算法 • 面向过程的问题求解的不足 • 精确完备的地描述具体的求解过程 • 但是不足以把一个包含了多个相互关联的过程的复杂系统表述清楚 • 面向对象的问题求解 • 关注系统本身,包括系统组成,状态以及系统中可能产生的各种过程与系统状态的切换。

  18. 语言的鸿沟

  19. 编程语言的发展使鸿沟变窄 • 机器  效率低下,极易发生错误 • 汇编  容易理解和记忆的符号,抽象层次太低,要了解机器细节 • 高级  屏蔽机器细节,具有一定涵义的数据命名和容易理解的执行语句。结构化编程语言更加提高了语言的抽象层次。主要问题是程序中的数据和操作不能有效地与问题域中的具体事物对应 • 面向对象 语言本身就是为了直接描述事物及其间的关系。

  20. 鸿沟变窄

  21. 我们认识客观世界中的各种系统时就是面向对象的。我们认识客观世界中的各种系统时就是面向对象的。 尽可能按照人类所习惯的方法和世界观看待和构造程序。 真实世界的物体(对象)有两个特性:状态和行为 2 面向对象问题求解概述

  22. 2 面向对象问题求解概述(续) • 面向对象的程序使用软件对象模拟真实世界的对象。软件对象是真实世界对象的模型,它也具有状态和行为,一个软件对象使用变量来维护自己的状态,通过过程来实现自己的行为,我们可以使用软件对象来表示真实世界的对象 • 计算机世界向现实世界的靠拢

  23. 3 对象、类和实体 • 面向对象的程序由对象组成,这些对象互相通信、协调配合共同完成程序的任务和功能。 • 类是同种对象的集合与抽象

  24. 对象定义 • 对象的定义:是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务构成. • 属性和服务是构成对象的两个要素: • 属性是描述对象静态特征的一个数据项 • 服务是描述对象动态特征(行为)的一个操作序列

  25. 类定义 • 类定义1:类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个部分. • 类定义2:类是一个设计方案或原型它定义了对某一特定类型的所有对象共同具有的变量和过程

  26. 消息定义 • 软件对象之间通过发送消息进行交互和通信 • 消息就是向对象发出服务请求,它应该含有下述信息,提供服务的对象标识、服务标识和输入信息和回答信息 • 消息的本质是调用其他对象的方法

  27. 类和对象的区别和联系 • 类表示一个对象的设计方案,而不是对象本身 • 根据类可实例化该类的对象 • 对象是实际存在的,可以使用它

  28. 对象之间的相互关系 • 包含(汽车和发动机) • 继承(电视机和彩色电视机) • 关联(厂商和电视机)

  29. 面向对象的软件开发过程 • 面向对象的分析(OOA) • 面向对象的设计(OOD) • 面向对象的实现(OOP)

  30. 传统的方法鸿沟

  31. 面向对象的系统方法 • 面向对象的分析 • 面向对象的设计 OOA不考虑和系统的具体实现有关的因素(oop,界面,数据库) • 面向对象的编程 • 面向对象的测试 对象为一个独立的单位 继承性(子类不测试父类) • 面向对象的维护 往往维护人不是设计人 同样修改错误和需求变化 问题波动小

  32. 面向对象的方法鸿沟

  33. 面向对象程序设计方法的优点 • 可重用(抽象、封装、继承、多态围绕可重用) • 可扩展(实现快速原型法) • 可管理(类作为部件,封装)

More Related