注册
 找回密码
 注册
江西广告网
查看: 250|回复: 0
打印 上一主题 下一主题

Java:方法=过程

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-27 17:41:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
  在面向对象中“方法”等同于非面向对象语言中的“过程”。也就是说,方法是一个程序的组成部分,用来提供实现某个动作的机制(方法),如前面示例中的barking。 对给定某个实体的实例,用“.”连接实例与class中定义的方法来实现对行为的调用:   方法调用语法   <instance>.<behavior>()   <variable> = <instance>.<behavior>(<arguments>...)   譬如,让 dog fido 来 bark 一次的操作如下:   fido.bark()   从语法上说,Java 语言支持将数据传给方法和获取从方法返回的值,但上面示例中的调用既没传数据也没有返回值。   Java 是一门强调类型(strongly typed) 的语言,它要求变量、变量的值、返回类型等都必须正确匹配,部分原因在于数据类型是区分同名的多个方法的要素。 方法的返回类型和参数都是在定义的时候就给定的:   方法定义语法   void <method-name>(<arguments>...) {   <statements>...   }   <return-type> <method-name>(<arguments>...) {   <statements>...   }   方法名,返回类型以及参数表合起来叫方法标记(method signature)。在现代的 OO 语言中,一个 class 内可以用同一名字定义多个方法,只要它们的标记不同。这就是方法的重载(overloading)。 Java 中还规定,返回类型不能作为区分方法标记的因素,因此,如果两个方法具有相同的名称和参数,只是返回类型不同,是不允许出现在同一 class 中的。   在上例中,返回类型为 void 表明方法 bark() 无须计算出任何结果传回给调用它的程序块。同时,bark() 也被无参调用。按对象学的说法,调用特定对象(即类的某个实例)的方法被称为消息传递(message passing)。在上例中,消息不含有附加数据(没有参数)。   至此,如果我们为 Dog 创建了一个实例,那么当它被激活时就能够 bark 了,但是我们尚无办法描述某些数据,比方说,让它 bark 多少次,它是什么品种等等。在考察那些能使 Dog 这个数据类型更加通用的语言结构之前,我们还应先考虑Java语言的另一个方面,那就是,运行一个程序到底需要什么?            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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