方法 (计算机科学)

✍ dations ◷ 2025-11-14 08:25:59 #计算机编程

在面向对象编程中,方法(英语:Method;德语:Methode; 法语:Méthode)指的是类别(所谓的类方法、静态方法或工厂方法)、或者是对象(所谓的实例方法)两者其中之一的一种子程序。如同过程化编程语言的程序,一个方法通常以一系列的语句所组成,并以之完成一个动作。其可以借由输入一组参数以制订所需的动作,且一部分的方法可能会有输出值(所谓的返回值)。方法的目的是提供一个机制,以访问(对于读和写)对象或类别的私有数据存储区。

如前所述,实例方法附属于特定对象,而类别或者静态方法(又称作共享方法)则附属于某个类别。在典型的实践中,实例方法发送一个隐藏的参考(举例来说,this或者self或者Me)给所属的对象(不论类别或类实例),所以它们可以访问与之相关的数据。一个类方法的典型例子即:在给定的类别中,其内部记录着已创建对象的计数。

构造函数类似于方法,不过它们是在语句区块中创建一个类别的实例时,所自动调用的。在Java、C++、C#以及PHP里,它们和所属对象的类别,皆有相同的名称。在Visual Basic里,构造函数称为New,而且在Object Pascal里,构造函数可以有用户所定义的名字(不过大多称作Create)。构造函数有一部分很像方法,不过也存在着许多差异,所以通常不把其视为方法。

析构函数是一个特殊的实例方法,它是在析构一个类别的实例时,所自动调用的。在C++里,它们和所属对象的类别,皆有相同的名称,只不过在前面多了一个波浪号(~)。在Object Pascal里,析构函数可以有用户所定义的名字(不过大多称作Destroy)。

抽象方法是一个虚设代码的方法,它没有实现。它通常用来占住一个位置,让子类或者以此为原型的对象重载,并实现出相应的抽象方法。如此一来,抽象方法有助于明确表明一部分架构。

访问方法通常是一个小型、简单的,并提供一个用来从程序的其它部分访问对象状态的方法。虽然它引入了一个新的附属,但这是直接访问状态数据的首选方法,因其提供了一个抽象层。例如,如果银行账户类别提供了getBalance()的访问方法,其用以查询余额(而不是直接访问余额数据区域),之后该部分代码的修改版可以实现更复杂的查询余额机制(例如,获取数据库),而无须改变相关的代码。一个用来改变对象状态的访问方法,通常称作更新方法,有时又称作更动方法。提供这些方法的对象就被认为是可变对象。

如前所述,方法可能宣告为静态的(在Visual Basic里是shared,在Object Pascal里是class),即静态方法活动于类别层次,而非物理层次。静态方法不能触及一个特定的类实例(也就是不能触及thisself,Me等等)以下是以C‘ 撰写的静态成员以及其客户端的例子:

相关

  • 威廉·埃因托芬威廉·埃因托芬(Willem Einthoven,1860年5月21日-1927年9月29日)是一位荷兰医师与生理学家。 埃因托芬出生于当时属于荷兰的爪哇岛三宝珑,他的父亲是一位医生,在他小时候便过世。
  • 人间卫视人间卫视(全称人间电视股份有限公司,英语:Beautiful Life Television)是佛光山旗下基金会“佛光山电视弘法基金会”所经营的电视台,原名“佛光传播事业股份有限公司”、“佛光卫
  • 艾普斯龙运载火箭爱普瑟隆固态燃料火箭(日语:イプシロンロケット、Εロケット,英语译名:Epsilon Launch Vehicle)是日本的宇宙航空研究开发机构(JAXA)与民间业者IHI共同研发、用来发射人造卫星的固
  • 镇远镇远号战舰是大清海军于德国的伏尔铿造船厂订购及建造的露炮塔铁甲舰—定远级铁甲舰之姊妹舰。当时有东亚第一坚舰之称。甲午战争期间被日本海军虏获,战后以战列舰的身份编入
  • 西班牙君主列表这是一份西班牙君主的列表。严格来说,是现代定义下统一的西班牙的君主列表,此前在现今西班牙乃至葡萄牙领土上的君主国统治者,请参看下面的列表:上述各系王室,最终在亚拉冈国王费
  • 流星蝴蝶剑.net《流星蝴蝶剑.net》(英语版名:Meteor Blade.net)是2002年发布的个人电脑武侠动作游戏,改编自小说作家古龙的作品《流星·蝴蝶·剑》,由昱泉国际开发,2002年10月17日发行。游戏使用
  • 凯西 (神秘动物)凯西(英语:Cassie)是美国缅因州卡斯科湾(英语:Casco Bay)发现的一只大海蛇名称。它通常被描述为一只60-150英尺(18.2-45.7米)长的、皮肤呈深绿色、深棕色或黑色的巨型蛇形动物。凯西
  • 田中志步田中志步(日语:田中 志歩/たなか しほ ,1998年6月29日-)生于山口县光市,是一名日本女子柔道运动员,主攻70公斤级。她的哥哥是100公斤以上级柔道选手田中源大。她还有一个比她小两岁
  • 肯尼思·莱肯尼思·莱(英语:Kenneth Lee "Ken" Lay,1942年4月15日-2006年7月5日)是美国商人,并以其在安隆有限公司丑闻中的角色而著名。在丑闻被披露后,肯尼思·莱和安然更成为了企业丑闻(corp
  • 宫原知子宫原知子(日语:宮原知子/みやはら さとこ  */?、1998年3月26日-),日本花样滑冰运动员,曾在女子单人项目夺得2018年平昌奥运个人成绩第四名、团体战第五名,2015年世界锦标赛亚军、2