编程概念:编程范式
你应该有编程解决问题的经验。这种经验可能是在诸如 VB.NET、PHP、Python、Java 或 Pascal 等语言中,你应该能够快速理解类似这样的代码会做什么
numBananas = 2
numApples = 5
numFruit = numBananas + numApples
到目前为止,你一直在使用结构化编程技术。看看上面的例子,结构化语言从程序一行一行地执行,从 1 开始,然后是 2,然后是 3。
编程中还有许多其他范式,但在这门课程中,你将学习以下类型
- 结构化编程技术
- 函数式编程
- 逻辑编程
- 事件驱动编程
- 面向过程编程
- 面向对象编程
结构化编程技术涉及给你的代码编写结构,这些结构通常涉及在块中编写代码,例如
- 顺序 - 代码逐行执行
- 选择 - 分支语句,例如 if..then..else 或 case。
- 重复 - 迭代语句,例如 for、while、repeat、loop、do、until。
它还涉及将问题分解成更小的问题,直到可以编写执行单个任务的例程。例程对通过参数传递给它们的数据进行操作,这些例程可以重复使用,并且通常打包到库中以节省开发时间。
dim x as integer
x = 7
If x = 2 then
x = x + 4
else
x = x - 2
end if
面向过程编程与结构化编程技术共享相同的特性,它实现过程/子例程来执行通用功能
dim x as integer
x = 7
x = doubleIt(x)
console.writeline(x)
面向对象编程将结构化编程中使用的技术进一步发展,并将例程及其使用的数据组合到对象中。为对象存储的数据项称为属性,而对这些字段进行操作的例程称为方法。
class Building
{
private int height = 50;
public int getHeight()
{
return height;
}
public void demolish()
{
System.out.println( "3 .. 2 .. 1 .. BOOM!" );
height = 0;
}
}
class Program
{
public static void main( String[] args )
{
Building house1 = new Building();
Building house2 = new Building();
house2.demolish();
System.out.println( "House 1 height = "+house1.getHeight() );
System.out.println( "House 2 height = "+house2.getHeight() );
}
}
在函数式编程中,程序定义数学函数。解决问题的方案包括一系列函数调用。没有变量或赋值语句,而是有列表和操纵这些列表的函数。函数式编程语言的一个例子是Haskell。
一个逻辑程序包含一组事实和规则。建立一个关于特定主题的知识库,并且一个推理引擎使用知识库来回答以目标形式提出的查询。逻辑编程通常用于人工智能系统。
事件驱动编程指的是标准的 Windows 窗体概念,程序在一个循环中等待,直到发生一个事件(例如,单击一个按钮或按下一个键)。然后,程序运行与该事件相关联的代码,然后返回到其循环,前提是代码没有指示它关闭。
如果发生多个事件,程序会将代码排队,并按事件触发的顺序运行。
练习:编程范式 列出 4 种不同的编程范式 答案
什么是编程范式 答案
描述事件驱动语言的工作原理 答案
描述你可能期望一个电脑游戏处理的 2 个事件 答案
描述你可能期望一个文字处理器处理的 2 个事件 答案
|