Project1

标题: [综合信息] 程序语言的初步认识(2)-基本概念 [打印本页]

作者: friday5xue    时间: 2007-4-5 09:02
标题: [综合信息] 程序语言的初步认识(2)-基本概念
程序
    程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
面向对象
    面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。
    所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全局变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。
    多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operator overload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。
    继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。
面向过程
    “面向过程”是一种以事件为中心的编程思想。
    “面向对象”是一种以事务为中心的编程思想。
    比如以公共汽车而言。
    “面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们不关心的是某一个事件。而不是汽车本身。我们分别对启动和到站编写程序。类似的还有修理等等。
IDE
    软件行业中,IDE为(Integrated Devolop Environment)集成开发环境之意。如微软的Visual Studio系列,Borland的C++ Builder,Delphi系列等。IDE集成代码编辑,代码生成,界面设计,调试,编译等功能,目前还融合了建模功能。
可视化编程
    可视化编程:以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。
控件
    在图形用户界面(GUI)中屏幕上的一种对象,用户可操作该对象来执行某一行为。
脚本
    脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。

作者: friday5xue    时间: 2007-4-5 09:02
标题: [综合信息] 程序语言的初步认识(2)-基本概念
程序
    程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
面向对象
    面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。
    所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全局变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。
    多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operator overload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。
    继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。
面向过程
    “面向过程”是一种以事件为中心的编程思想。
    “面向对象”是一种以事务为中心的编程思想。
    比如以公共汽车而言。
    “面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们不关心的是某一个事件。而不是汽车本身。我们分别对启动和到站编写程序。类似的还有修理等等。
IDE
    软件行业中,IDE为(Integrated Devolop Environment)集成开发环境之意。如微软的Visual Studio系列,Borland的C++ Builder,Delphi系列等。IDE集成代码编辑,代码生成,界面设计,调试,编译等功能,目前还融合了建模功能。
可视化编程
    可视化编程:以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。
控件
    在图形用户界面(GUI)中屏幕上的一种对象,用户可操作该对象来执行某一行为。
脚本
    脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。

作者: 六脉神剑    时间: 2007-4-5 13:31
在编程序的时候我们不关心的是某一个事件。而不是汽车本身。


没看懂这句……
作者: 美兽    时间: 2007-4-5 16:02
以下引用六脉神剑于2007-4-5 5:31:11的发言:


在编程序的时候我们不关心的是某一个事件。而不是汽车本身。


没看懂这句……


大概是指列举所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

依此对应面向对象的
把构成问题分解成各个对象,建立对象不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。



作者: 六脉神剑    时间: 2007-4-5 18:29
以下引用美兽于2007-4-5 8:02:38的发言:

大概是指列举所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

依此对应面向对象的
把构成问题分解成各个对象,建立对象不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。


本来想用另外一种方式表达原文中的打字错误,但……{/lh}
作者: 金圭子    时间: 2007-4-5 20:55
以下引用六脉神剑于2007-4-5 5:31:11的发言:


在编程序的时候我们不关心的是某一个事件。而不是汽车本身。


没看懂这句……

我的理解是这样的:
面向对象:

定义 对象名
class bus {
  function open {
    ……
  }

  function move {
    ……
  }

  function repair {
    ……
  }
}


面向过程:
function repair(what) {
  if what = "bus" {
    …………
  }
  if what = "car" {
    …………
  }
}


然后“修理公共汽车”这个动作
用前者就是
bus.repair;

用后者就是
repair(bus);
(如果是vb风格就是repair bus)

不知道我的理解对不对……
作者: chaochao    时间: 2007-4-6 12:37
汗,面向对象就是把所有东西看成对象(object)。
面向过程就是按照顺序做事情……
作者: 六脉神剑    时间: 2007-4-6 15:05
偶汗……偶是找到错字了的说!以后再也不用这种方式提醒人了!{/fn}{/fn}
作者: 美兽    时间: 2007-4-6 15:43
以下引用六脉神剑于2007-4-6 7:05:26的发言:

偶汗……偶是找到错字了的说!以后再也不用这种方式提醒人了!


所谓一错再错,此错已非彼错。
作者: 金圭子    时间: 2007-4-6 17:02
以下引用六脉神剑于2007-4-5 5:31:11的发言:


在编程序的时候我们不关心的是某一个事件。而不是汽车本身。


没看懂这句……

多了个不“字”?
作者: chaochao    时间: 2007-4-6 20:35
lz写的东西,已经不是初步认识了.

Java语言的封装性较强,因为Java无全局变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。

无主函数?恶汗...




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1