软件开发语言 PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/3/30
37
对象间的相互合作需要一个机制协助进 行,这样的机制称为“消息”。也就是 说,消息是向对象发出的服务请求,是 对象和对象之间进行通信的手段。一个 对象通过向另一个对象发送消息来请求 服务,接收到消息的对象经过解释,然 后给予响应。这种通讯机制叫做消息传 递。 消息要素通常包括:发送对象、接受对 象、操作和适当的参数。
➢结构化程序设计
程序控制结构有三种:顺序、选择、循环
1)描述任何实体的操作序列只需用三种基本控 制结构
2)程序设计中的各个过程体和组成部分应以模
块表示 2020/3/30
16
7.对象化程序设计
➢基于对象的程序设计
程序=算法+抽象数据类型
用抽象数据类型来描述数据结 构。这种编程方法是基于抽象数 据类型而展开的,或者说是基于 对象的程序设计。
2020/3/30
13
➢算法:求解特定问题的一组
有限的操作序列。算法的描 述也需要借助于专门的工具, 如某种计算机语言,其特点:
a)目的性
b) 抽象性
c)研究性
2020/3/30
14
编程是为了解决计算问题,计算问题强 调算法,程序设计也就是在一定抽象层次
上 的算法设计。1976年,计算机专家
N.Wirth 提出了这样的经典式:
2020/3/30
34
事件是为了完成某一任务,向一个对象提 供的、并体现其功能的操作。 一个事件就是接收到一条消息后所执行的 处理。事件是对象的动作,而这个动作可 能会改变对象内部的状况或向外界提供某 种功能。例如“球”类的撞击事件,撞击 可以使球滚动。
2020/3/30
35
继承是表达类之间相似性的一种机制,即在 已有的类的基础之上增加构造新的类,前者 称为父类(或超类),后者称为子类。子类除 自动拥有父类的全部属性和操作外,还可以 进一步定义新的属性和操作。如果子类只从 一个父类继承,则称为单一继承;如果子类 从一个以上父类继承,则称为多重继承。 优点:能清晰地体现相关类之间的层次结构 关系;可以减少代码和数据的冗余,增加程 序的复用能力。
4.语言的自由性。 5.支持跨平台
2020/3/30
22
8.软件开发技术基础
程序设计基础
结构化程序设计
面向对程序设计
软件工程基础
2020/3/30
23
程序设计
程序设计(Programing)是指利用计算机解决 问题的全过程,它包含多方面的内容,而编写 程序只是其中的一部分。
程序设计的一般步骤:
分
➢面向对象的程序设计
2020/3/3程0 序=(对象,对象,对
17
C#简介
▪ C#(读作“See Sharp”)是一种简单、现代、面向 对象且类型安全的编程语言。C# 起源于 C 语言家族, 因此,对于 C、C++ 和 Java 程序员,可以很快熟悉 这种新的语言。
▪ C# 是面向对象的语言,然而 C# 进一步提供
汇编语言的实质和机器
语言是相同的,都是直接对
硬件操作,只不过指令采用
了英文缩写的标识符,更容
易识别和记忆。它同样需要
编程者将每一步具体的操作
用命令的形式写出来。汇编
程序通常由三部分组成:指
2020/3/30
令、伪指令和宏指令.
4
高级语言
高级语言是目前绝大多数编
程者的选择。和汇编语言相比,
它不但将许多相关的机器指令
确定
析
处理
问
题
方案
2020/3/30
确定 操作
编 写 程
上机 运行
整 理 结
步骤
序
程序
果
24
程序设计方法与风格
程序设计方法是指关于以什
么观点来研究问题并进行求
解,以及如何进行系统设计
的软件方法学。程序设计方
法主要经阶段 。
2020/3/30
25
程序设计风格是指编写程序时所 表现出的特点、习惯和逻辑思路。 从总体上说,程序设计风格强调 简单和清晰。“清晰第一,效率 第二”的观点是当今主导的程序 设计风格。
软件开发 (1)软件开发语言 (2)软件开发基础 (3)软件工程基础
2020/3/30
1
软件
(Software)简单的说就是那些
在计算机中能看的着,但摸不着 的东西,概念性的说软件也称为 “软设备”,广义地说软件是指 系统中的程序以及开发、使用程 序所需要的所有文档的集合。软 件分为系统软件和应用软件。
2020/3/30
31
封装就是把对象的属性和操作结合成一个 不可分割的整体,在这个整体中一些属性 (操作)是被保护的,以防外界的干扰和误操 作,另一些属性(操作)是公共的,它们作为 接口供外界使用。封装的结果就是使一个 对象形成接口和实现两个部分。对于用户 来说,接口是可见的,实现是不可见的。 封装是面向对象方法重要的机制,其目的 是有效地实现信息隐藏原则。
2020/3/30
8
3. C++
C++是一种编程灵活、运行 高效的高级语言,它可进行多 种方法编程,适用于商业处理 、科学计算、系统应用等重要 领域
2020/3/30
9
4.C++编程流程
➢编程过程
学习程序设计,首
先要搞清楚程序的
开发过程,否则,
无法以成功的运行
来验证编程技能的
提高
2020/3/30
2020/3/30
7
C++语言的产生
C++是从C语言发展演变而来的,首先是一个 更好的C 引入了类的机制,最初的C++被称为“带类的 C” 1983年正式取名为C++ 从1989年开始C++语言的标准化工作 于1994年制定了ANSI C++标准草案 于1998年11月被国际标准化组织(ISO)批准 为国际标准,成为目前的C++
2020/3/30
29
对象的操作又称为对象的行为,主
要表述对象的动态属性。操作的作用是 设置或改变对象的状态。例如一个球可 以滚动、停止或旋转等行为或操作。
方法是指当某个行为作用在对象时, 我们就称对象执行了一个方法。方法定 义了一系列的计算步骤(相当于函数)。
2020/3/30
30
方法是指当某个行为作用在对象时, 我们就称对象执行了一个方法。方 法定义了一系列的计算步骤(相当 于函数)。
2020/3/30
20
它吸收了C++、Visual Basic、Delphi、Java等语 言的优点,体现了当今最新 的程序设计技术的功能和精 华。C#继承了C语言的语法 风格,同时又继承了C++的 面向对象特性。
2020/3/30
21
特点
1.语言简洁。
2.保留了C++的强大功能 3.快速应用开发功能。
2020/3/30
28
▪ 属性是用来描述对象的状态,对象的状态
又称为对象的静态属性,包括对象内部所包 含的信息,每个对象都具有自己专有的内部 信息,这些信息说明了对象所处的状态。
▪ 例如一个球对象有自己的质地、颜色、大小 等。当给对象实施了某种操作后,其状态就 会发生变化,这一变化体现在信息的改变上。 例如,改变球的颜色,其颜色属性得到改变。
了对面向组件 (component-oriented) 编程的
支持。现代软件设计日益依赖于自包含和自描
述功能包形式的软件组件。这种组件的关键在
于,它们通过属性 (property)、方法 (method)
和事件 (event) 来提供编程模型;它们具有提
供了关于组件的声明性信息的属性 (attribute);
2020/3/30
12
5.程序与算法
➢程序:从静态上说,是以某种语言 为工具编制出来的动作序列,它 表达了人的系统性思维。而从动 态上说,它是一系列逐一被执行 的操作。既然要操作,便要受到 操作主体(计算机)的制约。由于 不同的主体其操作性能不同,即 使同一个主体,在不同状态下执 行同一个程序,也会表现出差异。
2020/3/30
26
结构化程序设计
基本结构:顺序结构、选择结构、循
环结构
A
真
假
P
B
A
B
假 P
真 A
A
假
2020/3/30 P
27
真
面向对象程序设计
在现实生活中,所有东西都是对象,例如 某一辆车就是一个对象,指具体的一辆车, 某个人也是一个对象,指具体的一个人。 对象既可以很简单,也可以很复杂,复杂 的对象可以由若干简单的对象构成。 任何对象都有两个共同的特点:对象的属 性和对象的操作。一个对象通常由对象名、 属性和操作组成。
1、低级语言(机器语言、汇 编语言)
2、高级语言(C++ C#)
2020/3/30
6
2.程序设计语言的发展
程序语言越低级,则必须对过程描写的越具体,指令 也就越接近机器的硬件逻辑
相反,程序语言越高级,就越接近对问题的描述和表达, 因而更直观,更容易被人们理解
程序语言的发展,总是从低级到高级,也就是从具体表 述到抽象描述,高级语言的抽象描述最后都自动转化成 机器的具体实现
2020/3/30
2
软件并不只是包括可以在计算机上 运行的程序,与这些程序相关的文 件一般也被认为是软件的一部分。 软件被应用于世界的各个领域,对 人们的生活和工作都产生了深远的 影响
编程语言:
计算机语言的种类非常的多,总的
来说可以分成机器语言,汇编语言,
高级语言三大类。
2020/3/30
3
汇编语言
程序设计语言的发展程序设计语言的发展程序语言越低级则必须对过程描写的越具体程序语言越低级则必须对过程描写的越具体指令也就越接近机器的硬件逻辑指令也就越接近机器的硬件逻辑相反程序语言越高级就越接近对问题的描述和表相反程序语言越高级就越接近对问题的描述和表达因而更直观更容易被人们理解达因而更直观更容易被人们理解程序语言的发展总是从低级到高级也就是从具体程序语言的发展总是从低级到高级也就是从具体表述到抽象描述高级语言的抽象描述最后都自动转化表述到抽象描述高级语言的抽象描述最后都自动转化成机器的具体实现成机器的具体实现2020202033313188c是从c语言发展演变而来的首先是一个更1983年正式取名为c从1989年开始c语言的标准化工作于1994年制定了ansic标准草案于1998年11月被国际标准化组织iso批准为国际标准成为目前的c2020202033313199c是一种编程灵活运行高效的高级语言它可进行多种方法编程适用于商业处理科学计算系统应用等重要领域202020203331311010编程过程编程过程学习程序设计首学习程序设计首先要搞清楚程序的先要搞清楚程序的开发过程否则开发过程否则无法以成功的运行无法以成功的运行来验证编程技能的来验证编程技能的提高提高202020203331311111程序的书写方式完全是人为的不同的书程序的书写方式完全是人为的不同的书写方式构成了程序设计的不同风格
2020/3/30
38
多态性:对象在收到消息时要 予以响应,不同的对象收到同 一消息可产生完全不同的结果, 这一现象叫做多态性。 多态性增强了软件的灵活性和 重用性。 多态性与继承性相结合使软件 具有更广的重用性和可扩充性。
2020/3/30
39
程序=算法+数据结构
程序设计方法的变革是以简化编程和提 高
软件生产率为目的的,它不以牺牲程序的
正 2020/3/30
15
6.过程化程序设计
➢基于过程的程序设计
将复杂的过程简单的按功能分层从而达到解决
问题的目的,这种思想就是过程化程序设计思想。 过程化程序设计以一系列过程的划分和组织来观 察、分析和解决问题。
10
编程风格
程序的书写方式完全是人为的,不同的书 写方式构成了程序设计的不同风格。C++ 的程序语法是以空格和换行(回车)来区 分词法单位,以特定的字符来辨认语法的, 如分号“;”表示语句的结束。程序设 计格式的随意性,给程序设计风格带来了 可塑性。
2020/3/30
11
程序设计风格应以可读性为准 则,合理 的紧凑性、模块整体性、对齐、锯齿型嵌 套、注释都是形成特定风格的因素。本书 将以一种独特的紧凑风格来展示程序代码.
同时,它们还编入了自己的文档。
2020/3/30
18
▪ 为了确保 C# 程序和库能够以兼容
的方式逐步演进,C# 的设计中充分
强调了版本控制 (versioning)。许
多编程语言不太重视这一点,导致
采用那些语言编写的程序常常因为
其所依赖的库的更新而无法正常工
作。C# 的设计在某些方面直接考虑
到版本控制的需要,其中包括单独
使用的 virtual 和 override 修饰符、
方法重载决策规则以及对显式接口
成员声明的支持。
2020/3/30
19
C#语言基础
C#.NET是微软公司推出的 一种类型安全、现代、简单、 由C和C++衍生出来的面向对 象的编程语言。掌握C#.NET 的特点、程序结构、集成开发 环境、C#语言的基本知识等, 是利用好C#的前提。
2020/3/30
32
接口是对象接受外部消息时所要进行操 作的集合。 例如:我们看到的是台灯这个整体以及 台灯与外部发生联系的开关按钮和亮度 旋钮(接口), 而不是一些导线、连接灯泡的线路、实 现开关、亮度功能的线路等是不可见的 (实现)。
2020/3/30
33
类是一组具有相同属性和相同操作的 对象的集合。 一个类中的每个对象都是这个类的一 个实例。 例如,人就是一个类(不是指具体的某 个人),而具体的一个人就是人类的一 个实例(对象)。 再比如,定义了一个名为“球”的类, 那么,足球、排球、篮球就是“球” 类的一个个实例。
2020/3/30
36
例如,定义一个“汽车”类,属性有 (变量):发动机、方向盘、车轮、灯、 油箱、颜色、几何尺寸及各种零件等; 方法有(函数):开、停、倒退等。但 在现实中有这样一类车和上面所定义 的“汽车”类非常相似,差别很小, 只是车轮小,油箱小,限乘座5人。 于是,可在“汽车”类的基础之上派 生一个新的类型,叫“小型汽车类”, 它是在“汽车类”的基础上加上了一 些新的特性。
合成为单条指令,并且去掉了
与具体操作有关但与完成工作
无关的细节,例如使用堆栈、
寄存器等,这样就大大简化了
程序中的指令。同时,由于省
略了很多细节,编程者也就不
2020/3/30 需要有太多的专业知识。
5
1. 程序设计语言
➢程 序 设 计 ( 编 程 ) 语 言 是 人 类 与计算机交流的工具
➢分类: