高级程序设计
- 格式:pdf
- 大小:124.36 KB
- 文档页数:19
1.高级语言程序设计高级语言程序设计是指使用高级编程语言进行软件开发的过程。
高级语言相对于低级语言而言,更加接近人类自然语言,更易于理解和编写。
下面我将从多个角度来回答关于高级语言程序设计的问题。
首先,高级语言程序设计的优点之一是提高了开发效率。
相比于低级语言,高级语言提供了更多的抽象层次和封装,使得开发者能够更快速地编写代码。
高级语言通常具有更丰富的库和函数,可以直接调用现成的功能模块,减少了重复造轮子的工作量。
其次,高级语言程序设计提供了更好的可读性和可维护性。
高级语言的语法和结构更接近自然语言,使得代码更易于理解和修改。
这对于团队合作开发和后期维护非常重要。
高级语言还提供了丰富的调试工具和错误处理机制,有助于快速定位和修复问题。
另外,高级语言程序设计也具有跨平台的优势。
高级语言通常不依赖于底层硬件和操作系统,可以在不同的平台上运行。
这使得开发者可以更灵活地选择开发环境和目标平台,提高了软件的可移植性和兼容性。
此外,高级语言程序设计还能提供更高级的抽象和功能。
高级语言中常常包括面向对象编程、函数式编程、并发编程等高级特性,可以更好地应对复杂的软件需求。
高级语言还支持模块化和组件化开发,使得代码的重用性和可扩展性更强。
然而,高级语言程序设计也存在一些挑战和限制。
首先,高级语言通常需要依赖解释器或编译器来将代码转换为机器语言,这会带来一定的性能损失。
对于一些对性能要求极高的应用,可能需要使用低级语言进行开发。
另外,高级语言的抽象层次较高,可能会导致开发者对底层的细节和机制了解不够深入。
这在一些对底层优化和调优要求较高的场景下可能会受到限制。
总结起来,高级语言程序设计在提高开发效率、可读性、可维护性和跨平台性等方面具有明显的优势。
然而,也需要根据具体的应用场景和需求来选择合适的编程语言和技术。
对于大多数软件开发任务而言,高级语言程序设计是一种高效、便捷且强大的工具。
高级语言程序设计在计算机科学领域中,高级语言程序设计是一门关键的课程,它涵盖了在现代软件开发中使用的广泛高级编程语言的基本概念和技术。
高级语言程序设计旨在帮助学生掌握解决实际问题的能力,通过学习和实践,培养学生的编程思维和实际编程能力。
1. 高级语言程序设计的基础概念在高级语言程序设计中,首先需要理解程序设计的基本概念。
程序设计的基本目标是解决现实生活中的问题,而编程语言是实现这一目标的工具。
高级语言相对于低级语言而言,更接近自然语言,使得程序更易读和易理解,提高了编程效率。
2. 高级语言程序设计的重要性高级语言程序设计在现代软件开发中扮演着至关重要的角色。
通过高级语言,开发人员可以更加高效地实现复杂的功能和算法,缩短开发周期,提高软件的质量。
高级语言的广泛使用也为程序员提供了更多的选择和灵活性,可以根据不同的需求选择最适合的编程语言进行开发。
3. 高级语言程序设计的应用领域高级语言程序设计在各个领域都有着广泛的应用。
从网站开发到移动应用开发,从数据分析到人工智能,高级语言程序设计无处不在。
不同的编程语言适用于不同的应用场景,程序员需要根据具体的需求选择最适合的编程语言进行开发,以实现最佳的效果。
4. 高级语言程序设计的学习路径要成为一名优秀的高级语言程序设计师,需要通过系统学习和实践不断提升自己的编程能力。
首先要掌握编程语言的基础知识,包括语法、数据类型、控制结构等;其次要学习算法和数据结构,提升解决问题的能力;最后要通过实际项目实践,锻炼编程思维和实际编程能力。
通过不断地学习和实践,可以在高级语言程序设计领域取得更大的成就。
5. 结语高级语言程序设计是一门富有挑战性和创造性的课程,通过学习这门课程,可以为学生提供丰富的编程知识和实践经验,提高他们解决实际问题的能力和创新能力。
希望每一位学生在学习高级语言程序设计的过程中都能够不断进步,成为一名优秀的编程专家。
以上是关于高级语言程序设计的简要介绍,希望能够对大家有所帮助。
高级语言程序设计一高级语言程序设计是一门研究如何使用高级编程语言来设计和实现软件的学科。
它涉及到程序设计的基础理论、方法和技术,以及如何运用这些知识来解决实际问题。
以下是对高级语言程序设计的一些基本介绍。
1. 高级语言概述高级语言是一种接近自然语言的编程语言,它使得编程人员能够以更接近人类思维的方式来编写程序。
与低级语言(如汇编语言)相比,高级语言更加抽象,隐藏了底层硬件的细节,使得编程更加简便。
2. 程序设计基础程序设计基础包括数据类型、变量、运算符、控制结构(如条件语句和循环语句)、函数(或方法)和模块化设计等概念。
这些是构成任何程序的基本元素。
3. 常用高级编程语言常见的高级编程语言有Java、C++、Python、JavaScript等。
每种语言都有其特定的语法规则和特点,适用于不同的应用场景。
4. 面向对象程序设计面向对象程序设计(OOP)是一种编程范式,它使用“对象”来设计软件,对象可以包含数据和方法。
OOP的主要概念包括类、继承、封装和多态。
5. 算法与数据结构算法是解决问题的一系列步骤,而数据结构是组织和存储数据的方式。
程序设计中,选择合适的算法和数据结构对提高程序效率至关重要。
6. 软件工程原理软件工程是应用工程原则来软件开发的学科。
它包括需求分析、设计、编码、测试和维护等阶段。
高级语言程序设计课程通常会介绍软件生命周期和开发方法论。
7. 程序调试与测试调试是找出并修复程序中错误的过程,而测试则是验证程序是否满足预定要求的过程。
掌握调试和测试技巧对于开发高质量的软件至关重要。
8. 高级主题随着学习的深入,高级语言程序设计课程可能会包括更高级的主题,如并发编程、网络编程、数据库接口、图形用户界面设计等。
9. 实践与项目实践是巩固理论知识的重要手段。
通过实际编程项目,学生可以将所学的概念和技术应用到解决具体问题中,从而加深理解。
10. 编程风格与最佳实践良好的编程风格和遵循最佳实践可以帮助提高代码的可读性、可维护性和可扩展性。
高级程序设计语言特点
高级程序设计语言具有许多特点,这些特点使其成为编程和软
件开发中的重要工具。
首先,高级程序设计语言通常具有更高的抽
象级别,这意味着程序员可以使用更接近自然语言的语法和结构来
表达他们的想法,而不需要过多关注底层的计算机硬件细节。
这使
得高级程序设计语言更易于学习和使用,也更有利于编写清晰、易
读的代码。
其次,高级程序设计语言通常具有丰富的内置函数和库,这些
函数和库可以帮助程序员完成各种任务,如字符串处理、文件操作、图形界面设计等。
这些内置函数和库可以大大提高开发效率,同时
也降低了程序员在开发过程中需要处理的细节和复杂性。
另外,高级程序设计语言通常具有跨平台的特性,这意味着同
一份代码可以在不同的操作系统上运行,而不需要进行大量的修改。
这种特性使得高级程序设计语言成为跨平台开发的重要选择,也为
软件的移植和部署提供了便利。
此外,高级程序设计语言通常具有丰富的社区支持和文档资源,这使得程序员可以方便地获取帮助和学习资料。
这也为高级程序设
计语言的发展提供了良好的基础,使得它们能够不断地演进和改进,以满足不断变化的软件开发需求。
总的来说,高级程序设计语言具有更高的抽象级别、丰富的内
置函数和库、跨平台的特性以及良好的社区支持和文档资源等特点,这些特点使得它们成为软件开发中不可或缺的工具,为程序员提供
了便利和效率。
高级语言程序设计计算机高级语言程序设计是计算机科学和技术的基础课程,它教授的是如何通过一种特定的高级编程语言开发高质量的软件系统,包括可运行的程序、动态库和静态库,以及其他一些基础工具。
它旨在培养学生的软件开发能力,以及在计算机科学领域的知识和技能。
计算机高级语言程序设计是一个涵盖了许多编程技能和技术的课程,包括面向对象设计、面向组件设计、可重用软件组件的开发、软件安全、算法设计和分析、软件架构设计,以及程序运行时性能调优。
学生需要学会如何使用各种编程语言,如C/C++,Java,Python,JavaScript,等等,来设计和实现出一个可运行的软件系统。
在学习计算机高级语言程序设计时,学生需要掌握基本的编程技能,如循环、条件、函数、结构化编程等,以便更加熟练地使用各种编程语言进行编程。
此外,学生需要了解常用的设计模式,比如工厂模式、单例模式、抽象工厂模式和设计模式,以及设计模式的优势,这些都是计算机高级语言程序设计中比较基础的知识。
此外,学生还需要掌握一些系统层面的知识,比如操作系统类型、I/O设备、CPU类型、计算机网络等,以及如何在高级编程语言中开发和使用这些系统级别的设备。
此外,学生还应该掌握计算机编程中的一些基本原理,比如程序调试、内存管理和数据结构,以及计算机安全方面的知识和技术。
最后,学生学习计算机高级程序语言设计的过程中要注意及时完成课程中的实践任务,学习和使用最新的技术,要注意把计算机程序设计的原理和实践结合起来,以达到尽可能深入地掌握理论和实践领域的知识。
另外,学生也应该遵循规范工作方式,不断完善自己的编程技能,以达到更高水平的语言程序设计技能。
综上所述,计算机高级语言程序设计是一门涵盖技术和原理的课程,学习这门课程的学生不仅将掌握一系列的编程技术,还要深入学习实践结合的编程原理,逐步提高自己的编程技术水平,以创造出高质量的软件系统。
常见的高级程序设计语言程序设计语言是计算机程序员用来编写和开发软件应用程序的工具。
随着计算机技术的不断发展,出现了许多种高级程序设计语言,这些语言在编程效率、代码可读性和灵活性方面都有所不同。
本文将介绍几种常见的高级程序设计语言。
一、C语言C语言是一种广泛应用的高级编程语言,它具有简洁、高效和可移植性的特点。
C语言最初由贝尔实验室的丹尼斯·里奇在1972年开发,目的是用于开发UNIX操作系统。
C语言被广泛应用于系统软件开发、嵌入式系统、游戏开发等领域。
C语言具有丰富的库函数和强大的指针操作能力,可以直接访问底层硬件,因此它在性能要求较高的项目中得到广泛应用。
二、Java语言Java语言是一种跨平台的高级编程语言,由Sun Microsystems(现为Oracle)公司于1995年推出。
Java语言具有简单、面向对象和可移植的特点。
Java程序可以在不同的操作系统上运行,这得益于Java虚拟机(JVM)的存在。
Java语言广泛用于企业级应用开发、手机应用程序开发和Web应用程序开发。
Java具有丰富的类库和强大的异常处理机制,使得开发人员能够更加高效地编写可靠的软件。
三、Python语言Python语言是一种简单、易学且功能强大的高级编程语言。
Guido van Rossum于1989年开始设计Python,并在1991年发布了第一个版本。
Python语言具有清晰、优雅的语法风格,被广泛应用于Web开发、数据科学和人工智能等领域。
Python拥有大量的第三方库和工具,使得开发人员可以快速构建各种应用程序。
Python语言还支持面向对象编程、函数式编程和模块化编程,具有良好的代码可读性和可维护性。
四、C++语言C++语言是一种扩展的C语言,由比雅尼·斯特劳斯特鲁普于1983年首次提出。
C++语言融合了面向对象编程和通用编程,并在C语言的基础上增加了许多新特性。
C++语言被广泛应用于游戏开发、图形界面开发和高性能应用程序开发。
高级程序设计知识点在计算机科学和软件工程领域,高级程序设计是指一种更高级的编程方法,它涉及到更复杂的编程概念和技术。
本文将介绍一些关键的高级程序设计知识点,以帮助读者深入了解这个领域。
一、面向对象编程(Object-Oriented Programming,简称OOP)面向对象编程是一种软件开发方法,它以对象作为程序的基本单元,通过封装、继承和多态来管理和组织代码。
面向对象编程能够提高代码的可重用性和可维护性,以及降低代码的耦合度。
在面向对象编程中,类是创建对象的模板,对象是类的实例。
类具有属性和方法,属性描述了对象的状态,方法描述了对象的行为。
继承是面向对象编程中的一个重要概念,它允许创建一个新类来继承已有类的属性和方法。
多态是指对象的相同方法可以根据不同的对象类型执行不同的操作。
二、设计模式(Design Patterns)设计模式是解决特定软件设计问题的经验总结,它提供了一套在软件设计中常用的解决方案。
设计模式可以提高代码的可复用性、可读性和灵活性。
常见的设计模式包括单例模式、工厂模式、策略模式、观察者模式等。
单例模式确保一个类只有一个实例对象;工厂模式通过一个工厂类来创建对象;策略模式定义了一系列算法,并使它们可以互相替换;观察者模式定义了对象之间的一对多关系。
三、数据结构和算法数据结构和算法是高级程序设计中的核心概念,它们用于存储和处理数据。
常见的数据结构包括数组、链表、栈、队列、树、图等,它们用于不同的场景和问题。
算法是解决问题的步骤和方法,常见的算法有排序、搜索、图算法等。
在高级程序设计中,选择合适的数据结构和算法非常重要,它们可以影响程序的性能和效率。
了解不同数据结构和算法的特点和适用场景,可以帮助开发人员设计出更高效的程序。
四、并发和并行编程并发和并行编程是指在多个执行流中同时执行任务的编程方式。
并发编程可以提高程序的性能和效率,但也带来了一些挑战,如共享资源的同步和互斥访问等。
高级语言程序设计课程简介
《高级语言程序设计》课程是计算机科学、软件工程等专业的核心课程,旨在教授学生如何使用高级编程语言(如Python、Java、C++等)进行软件设计和开发。
该课程涉及编程基础、数据结构、算法和面向对象编程等核心概念,旨在培养学生解决实际问题的能力,为后续的专业课程和实际项目打下坚实的基础。
一、主要内容
1.编程基础:包括变量、数据类型、控制结构(如条件语句和循环语句)、函数等基本概念。
2.数据结构:介绍常见的数据结构(如数组、链表、栈、队列、树等)及其操作。
3.算法:涉及基本算法(如排序、搜索等)和算法分析,培养学生的问题解决能力。
4.面向对象编程:教授对象、类、继承、多态等核心概念,使学生能够利用面向对象的方法设计软件。
5.软件工程:简要介绍软件工程的基本概念,如需求分析、设计模式、测试等,帮助学生理解软件开发的全过程。
二、学习方法
1.实践为主:学生应通过大量编程实践掌握课程内容,培养编程思维和技能。
2.参与项目:结合实际项目进行学习,提高解决实际问题的能力。
3.小组讨论:积极参与课堂和课后的小组讨论,通过交流学习促进知识的深度理解和吸收。
4.持续学习:关注技术的发展动态,不断学习新的编程技术和工具。
三、意义
《高级语言程序设计》课程是软件工程教育的核心,对于培养学生编程思维和技能、提高解决问题的能力具有重要意义。
通过该课程的学习,学生可以掌握现代软件开发的基本概念和技能,为后续专业课程和实际工作做好准备。
高级程序设计现代社会中,高级程序设计作为一门重要的IT技术,正逐渐成为许多行业的核心竞争力所在。
高级程序设计旨在通过灵活运用不同的编程语言和技术,实现复杂功能并提升软件性能。
本文将从定义、重要性、应用场景和学习方法等方面,对高级程序设计进行全面阐述。
一、定义高级程序设计是一种软件开发方法,它通过使用更高层次的编程语言和技术,与传统的低级语言相比,能够更灵活地实现复杂功能。
高级程序设计的核心概念是模块化和抽象化,即将复杂的问题划分为多个独立的模块,每个模块负责完成一个特定的功能。
二、重要性在当今信息化时代,高级程序设计具有重要的意义和价值。
首先,高级程序设计能够提升软件开发的效率。
通过使用高级编程语言,程序员能够更快速地实现功能需求,节省大量的开发时间。
其次,高级程序设计能够提高软件性能和稳定性。
高级语言通常具备更好的错误处理机制和调试工具,有助于减少程序缺陷和提升软件质量。
此外,高级程序设计还能够为软件开发提供更灵活的扩展性和可维护性,使得软件更易于维护和升级。
三、应用场景高级程序设计广泛应用于各行各业。
以企业管理系统为例,高级程序设计可以实现复杂的人力资源管理、财务管理和生产管理功能,提升企业的运营效率和管理水平。
在电商行业中,高级程序设计可以实现在线支付系统、订单管理系统等功能,实现快速高效的电子商务交易。
在游戏开发领域,高级程序设计可以实现复杂的游戏逻辑和人工智能算法,提供沉浸式的游戏体验。
此外,高级程序设计还广泛应用于金融、医疗、交通等领域,为各行业的科技创新和发展提供支撑。
四、学习方法要学好高级程序设计,需要掌握一定的基础知识和技能。
首先,要熟悉各种编程语言的语法和特性,如Java、C++、Python等。
其次,要学会使用各种开发工具和框架,如IDE、版本控制系统等。
此外,还要注重实践,通过参与项目和编写实际代码,增加对于程序设计的实际操作经验。
另外,也可以通过参加培训课程、阅读专业书籍、参与在线学习平台等途径来提高自己的高级程序设计水平。
高级程序设计学院:信息与通信工程学院班级:工业131班学号:2012658466姓名:于誜一、实验目的(1)理解接口、塑型、多态的概念并能熟练应用。
(2)熟练掌握构造方法的调用顺序,理解编写时需要注意的问题。
(3)掌握内部类的语法结构及其应用的场合。
二、实验步骤(1)在NetBeans中创建新的Java项目Exp5。
①选择“文件”→“新建项目”。
在“类别”下选择“Java”。
在“项目”下选择“Java应用程序”,然后单击“下一步”按钮。
②在“项目名称”下输入Exp5,不要勾选“创建主类”选项。
(2)复习多态、绑定、构造方法等概念。
①给出题目代码的执行结果。
②根据结果逐行作简要解释。
写入txt文档。
③题目中定义了几个有继承关系的类,还有静态和非静态的方法。
复习书上关于构造方法与多态等相关内容,给出执行main方法后的输出结果,并加以解释。
④在项目Exp5中创建新的包和类。
创建Java包,名称为“problem1”。
在“problem1”包下创建Vehicle.java,复制题目代码到Vehicle.java中。
运行程序,检查自己的理解是否正确。
(3)接口实现练习。
①打开实验4中的MyAccount项目,在上次完成的项目基础上完成实验任务(2)。
②使myaccount.model.Deal实现Comparable接口。
使Deal类实现parable接口。
实现该接口定义的compareTo方法。
③Comparable根据名字理解,就是可比较的。
一个类如果实现了Comparable接口的类,它就是一个可被比较的类。
结合实验任务(4),请思考为什么这个接口的方法要这样定义。
④创建myaccount.util.DealAmountComparator类,使其实现parator接口。
新建一个类,使其实现Comparator接口。
实现该接口定义的compare方法。
⑤Comparator顾名思义,就是一个可以用来比较其他对象的比较器。
它可以用来比较某些类型的对象。
结合实验任务(4),思考为什么这个接口的方法要这样定义。
⑥对比Comparable和Comparator两个接口,思考它们有什么不同,结合实验任务(4),理解定义接口的目的和实际作用。
(4)内部类实现练习。
①在项目Exp5中创建新的包和类。
创建Java包,名称为“problem3”。
在“problem3”包下创建MyObservable.java,将实验任务(3)的代码复制到文件中。
注意代码中的包名、类名与所创建的文件一致。
②按照题目要求补全代码。
只可以/*add your code here*/处添加代码,其他位置的代码与原题保持一致,不要修改。
③很明显,注释中的内容以参数的形式被包含在一个方法调用中。
若要实现题目中的要求,需要在注释处实现一个匿名的内部类。
这个内部类实现了Observer接口。
④执行代码,应看到题目要求的输出。
(5)第5章综合练习。
①打开MyAccount项目。
②按照题目给Deal的子类实现toPlainText方法。
③按照题目给Deal的子类实现带参数的构造方法。
④新建类myaccount.app.TestDeal。
在它的main函数中实现测试方法。
⑤观察输出。
三、程序代码程序代码:package problem1;class Car extends Vehicle{public Car(){System.out.println("A new Car.");}public void drive(){System.out.println("Car is driven.");}public static void brake(){System.out.println("Car is braked.");}}public class Vehicle{class Bus extends Vehicle{public Bus(){System.out.println("A new Bus.");}public void drive(){System.out.println("Bus is driven.");}}public Vehicle(){System.out.println("A new Vehicle.");}public void drive(){System.out.println("Vehicle is driven.");}public static void brake(){System.out.println("Vehicle is braked.");}public void test(){Vehicle vc=new Car();Bus vb=new Bus();drive();vc.drive();vb.drive();vc.brake();vb.brake();}public static void main(String[]args){Vehicle v=new Vehicle();v.test();}}代码分析:A new Vehicle.进入main函数后,Vehicle v=new Vehicle();调用Vehicle的构造函数打印一次A new Vehicle.进入test函数后,Vehicle vc=new Car();调用Vehicle的构造函数打印一次A new Car.Vehicle vc=new Car();调用Car的构造函数打印一次A new Vehicle.Bus vb=new Bus();调用Vehicle的构造函数打印一次A new Bus.Bus vb=new Bus();调用Bus的构造函数打印一次Vehicle is driven.drive();调用Vehicle中的drive函数打印一次Car is driven.vc.drive();调用Car中的drive函数打印一次Bus is driven.vb.drive();调用Bus中的drive函数打印一次Vehicle is braked.vc.brake();vc是通过重塑方法定义的,所以调用父类的brake函数打印一次Vehicle is braked.vb.brake();调用父类的brake函数打印一次problem2①Account.javapackage problem2;import java.util.List;import java.util.Date;public class Account{protected String name;protected String type;protected String accountNumber;protected String description;protected Person belongto;protected String currency;protected List dealList;public String getReport(Date start,Date end,int reportType){return null;}public String getAccountNumber(){return this.accountNumber;}public void setAccountNumber(String accountNumber){this.accountNumber=accountNumber;}public Person getBelongto(){return this.belongto;}public void setBelongto(Person belongto){this.belongto=belongto;}public String getCurrency(){return this.currency;}public void setCurrency(String currency){this.currency=currency;}public List getDealList(){return this.dealList;}public void setDealList(List dealList){this.dealList=dealList;}public String getDescription(){return this.description;}public void setDescription(String description){this.description=description;}public String getName(){return ;}public void setName(String name){=name;}public String getType(){return this.type;}public void setType(String type){this.type=type;}}class StockDealAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class FixedAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class CurrentAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class CreditAccount extends Account{private int loanLimit=0;public int getLoanLimit(){return this.loanLimit;}public void setLoanLimit(int loanLimit){this.loanLimit=loanLimit;}@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}②Deal.javapackage problem2;import parator;import java.util.Date;public class Deal implements Comparable,Comparator{ protected Date dealDate=new Date();protected String dealType="";protected Person person=null;protected String accountName="";protected String amount="";protected String category="";protected String description="";public Deal parseString(String dealString){return this;}public String toPlainText(){return null;}public String getAccountName(){return this.accountName;}public void setAccountName(String accountName){ this.accountName=accountName;}public String getAmount(){return this.amount;}public void setAmount(String amount){this.amount=amount;}public String getCategory(){return this.category;}public void setCategory(String category){this.category=category;}public Date getDealDate(){return this.dealDate;}public void setDealDate(Date dealDate){this.dealDate=dealDate;}public String getDealType(){return this.dealType;}public void setDealType(String dealType){this.dealType=dealType;}public String getDescription(){return this.description;}public void setDescription(String description){ this.description=description;}public Person getPerson(){return this.person;}public void setPerson(Person person){this.person=person;}@Overridepublic int compareTo(Object t){Deal a=(Deal)t;if(a.dealDate.after(this.dealDate)){return1;}else if(a.dealDate.equals(this.dealDate)){return0;}else return-1;}@Overridepublic int compare(Object t,Object t1){Deal a=(Deal)t;Deal b=(Deal)t1;return pareTo(b.amount);}}class TransferDeal extends Deal{protected Account inputAccount;protected Account outputAccount;@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return null;}public Account getInputAccount(){return this.inputAccount;}public void setInputAccount(Account inputAccount){ this.inputAccount=inputAccount;}public Account getOutputAccount(){return this.outputAccount;}public void setOutputAccount(Account outputAccount){ this.outputAccount=outputAccount;}}class StockDeal extends Deal{private boolean isBuy=true;protected String stockNumber="";protected String stockName="";public boolean isBuy(){return this.isBuy;}public void setBuy(boolean isBuy){this.isBuy=isBuy;}public String getStockName(){return this.stockName;}public void setStockName(String stockName){this.stockName=stockName;}public String getStockNumber(){return this.stockNumber;}public void setStockNumber(String stockNumber){ this.stockNumber=stockNumber;}@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return null;}}class NormalDeal extends Deal{@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return null;}}③DealTester.javapackage problem2;import java.util.Date;public class DealTester{public static void main(String[]args){//Date d1=2015,10,22;Deal de1=new Deal();de1.dealDate=new Date(2015,6,27);//de1.setDealDate();Deal de2=new Deal();de2.dealDate=new Date(2015,6,29);System.out.println(pareTo(de2));System.out.println(de1);}}④Person.javapackage problem2;import java.util.Date;public class Person{private String name;private String type;private String telephone;private Date birthday;private String description;Person(){}public Date getBirthday(){return this.birthday;}public void setBirthday(Date birthday){this.birthday=birthday;}public String getDescription(){return this.description;}public void setDescription(String description){ this.description=description;}public String getName(){return ;}public void setName(String name){=name;}public String getTelephone(){return this.telephone;}public void setTelephone(String telephone){ this.telephone=telephone;}public String getType(){return this.type;}public void setType(String type){this.type=type;}}class Bank extends Person{protected String homepage;Bank(){}public String getHomepage(){return this.homepage;}public void setHomepage(String homepage){this.homepage=homepage;}}problem3①Account.javapackage problem3;import java.util.List;import java.util.Date;public class Account{protected String name;protected String type;protected String accountNumber;protected String description;protected Person belongto;protected String currency;protected List dealList;public String getReport(Date start,Date end,int reportType){ return null;}public String getAccountNumber(){return this.accountNumber;}public void setAccountNumber(String accountNumber){ this.accountNumber=accountNumber;}public Person getBelongto(){return this.belongto;}public void setBelongto(Person belongto){this.belongto=belongto;}public String getCurrency(){return this.currency;}public void setCurrency(String currency){this.currency=currency;}public List getDealList(){return this.dealList;}public void setDealList(List dealList){this.dealList=dealList;}public String getDescription(){return this.description;}public void setDescription(String description){this.description=description;}public String getName(){return ;}public void setName(String name){=name;}public String getType(){return this.type;}public void setType(String type){this.type=type;}}class StockDealAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class FixedAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class CurrentAccount extends Account{@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}class CreditAccount extends Account{private int loanLimit=0;public int getLoanLimit(){return this.loanLimit;}public void setLoanLimit(int loanLimit){this.loanLimit=loanLimit;}@Overridepublic String getReport(Date start,Date end,int reportType){ return null;}}②Deal.javapackage problem3;import parator;import java.util.Date;public class Deal implements Comparable,Comparator{ protected Date dealDate=new Date();protected String dealType="";protected Person person=null;protected String accountName="";protected String amount="";protected String category="";protected String description="";public Deal parseString(String dealString){return this;}public String toPlainText(){return null;}public String getAccountName(){return this.accountName;}public void setAccountName(String accountName){this.accountName=accountName;}public String getAmount(){return this.amount;}/*this.amount=amount;*/public void setAmount(String amount){this.amount=amount;}public String getCategory(){return this.category;}public void setCategory(String category){ this.category=category;}public Date getDealDate(){return this.dealDate;}public void setDealDate(Date dealDate){ this.dealDate=dealDate;}public String getDealType(){return this.dealType;}public void setDealType(String dealType){ this.dealType=dealType;}public String getDescription(){return this.description;}public void setDescription(String description){ this.description=description;}public Person getPerson(){return this.person;}public void setPerson(Person person){this.person=person;}@Overridepublic int compareTo(Object t){Deal a=(Deal)t;if(a.dealDate.after(this.dealDate)){return1;}else if(a.dealDate.equals(this.dealDate)){ return0;}else return-1;}@Overridepublic int compare(Object t,Object t1){Deal a=(Deal)t;Deal b=(Deal)t1;return pareTo(b.amount);}}class TransferDeal extends Deal{protected Account inputAccount;protected Account outputAccount;@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return"<TransferDeal>"+this.dealDate.getYear()+"-"+this.dealDate.getMonth()+"-"+this.dealDate.getDate()+"¥"+this.amount+ this.description;}public Account getInputAccount(){return this.inputAccount;}public void setInputAccount(Account inputAccount){this.inputAccount=inputAccount;}public Account getOutputAccount(){return this.outputAccount;}public void setOutputAccount(Account outputAccount){this.outputAccount=outputAccount;}}class StockDeal extends Deal{private boolean isBuy=true;protected String stockNumber="";protected String stockName="";public boolean isBuy(){return this.isBuy;}public void setBuy(boolean isBuy){this.isBuy=isBuy;}public String getStockName(){return this.stockName;}public void setStockName(String stockName){this.stockName=stockName;}public String getStockNumber(){return this.stockNumber;}public void setStockNumber(String stockNumber){this.stockNumber=stockNumber;}@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return"<StockDeal>"+this.dealDate.getYear()+"-"+this.dealDate.getMonth()+"-"+this.dealDate.getDate()+"¥"+this.amount+ this.description;}}class NormalDeal extends Deal{@Overridepublic Deal parseString(String dealString){return this;}@Overridepublic String toPlainText(){return"<Noraml>"+this.dealDate.getYear()+"-"+this.dealDate.getMonth() +"-"+this.dealDate.getDate()+"¥"+this.amount+this.description;}}③DealTester.javapackage problem3;import java.util.Date;import java.util.Random;public class DealTester{public static void main(String[]args){Random random=new Random();Deal[]dl=new Deal[10];int i,j;for(i=0;i<10;i++){int x=random.nextInt();switch(x%3){case0:dl[i].setDealType("TransferDeal");case1:dl[i].setDealType("StockDeal");case2:dl[i].setDealType("NormalDeal");}dl[i].dealDate=new Date(x%2015,x%12,x%28);dl[i].setAmount(x%5000+".00");}for(i=0;i<10;i++){for(j=i+1;j<i-j+1;j++){if(dl[i].compareTo(dl[j])==-1){Deal t=new Deal();t=dl[i];dl[i]=dl[j];dl[j]=t;}}}for(i=0;i<10;i++){System.out.println(dl[i].toPlainText());}}}④Person.javapackage problem3;import java.util.Date;public class Person{private String name;private String type;private String telephone;private Date birthday;private String description;Person(){}public Date getBirthday(){return this.birthday;}public void setBirthday(Date birthday){this.birthday=birthday;}public String getDescription(){return this.description;}public void setDescription(String description){ this.description=description;}public String getName(){return ;}public void setName(String name){=name;}public String getTelephone(){return this.telephone;}public void setTelephone(String telephone){ this.telephone=telephone;}public String getType(){return this.type;}public void setType(String type){this.type=type;}}class Bank extends Person{protected String homepage;Bank(){}public String getHomepage(){return this.homepage;}public void setHomepage(String homepage){ this.homepage=homepage;}}。