设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4141|回复: 10
打印 上一主题 下一主题

[综合信息] 程序语言的初步认识(2)-基本概念

 关闭 [复制链接]

Lv1.梦旅人

天国守护

跳转到指定楼层
1
发表于 2007-4-5 09:02:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
程序
    程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
面向对象
    面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。
    所有面向对象编程语言都支持三个概念:封装、多态性和继承,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是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?

Lv1.梦旅人

天国守护

2
 楼主| 发表于 2007-4-5 09:02:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
程序
    程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
面向对象
    面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。
    所有面向对象编程语言都支持三个概念:封装、多态性和继承,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是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

3
发表于 2007-4-5 13:31:11 | 只看该作者
在编程序的时候我们不关心的是某一个事件。而不是汽车本身。


没看懂这句……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

4
发表于 2007-4-5 16:02:38 | 只看该作者
以下引用六脉神剑于2007-4-5 5:31:11的发言:


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


没看懂这句……


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

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


纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

5
发表于 2007-4-5 18:29:05 | 只看该作者
以下引用美兽于2007-4-5 8:02:38的发言:

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

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


本来想用另外一种方式表达原文中的打字错误,但……{/lh}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-11-16
帖子
3409
6
发表于 2007-4-5 20:55:20 | 只看该作者
以下引用六脉神剑于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)

不知道我的理解对不对……
最近好多想到PM的问题……不会嫌我烦了吧……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

CHAOS

梦石
0
星屑
107
在线时间
245 小时
注册时间
2005-11-4
帖子
3521

贵宾

7
发表于 2007-4-6 12:37:49 | 只看该作者
汗,面向对象就是把所有东西看成对象(object)。
面向过程就是按照顺序做事情……
梦想世界,在你伸手!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

8
发表于 2007-4-6 15:05:26 | 只看该作者
偶汗……偶是找到错字了的说!以后再也不用这种方式提醒人了!{/fn}{/fn}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

9
发表于 2007-4-6 15:43:37 | 只看该作者
以下引用六脉神剑于2007-4-6 7:05:26的发言:

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


所谓一错再错,此错已非彼错。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-11-16
帖子
3409
10
发表于 2007-4-6 17:02:02 | 只看该作者
以下引用六脉神剑于2007-4-5 5:31:11的发言:


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


没看懂这句……

多了个不“字”?
最近好多想到PM的问题……不会嫌我烦了吧……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 15:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表