方法 (计算机科学)

✍ dations ◷ 2025-09-16 20:12:20 #计算机编程

在面向对象编程中,方法(英语: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‘ 撰写的静态成员以及其客户端的例子:

相关

  • 雄激素雄激素(英语:androgen、英语:androgenic hormones或英语:testoids),也译为雄性激素、男性激素、男性荷尔蒙,是一种化学成合物的泛称。在于脊椎动物中,凡是能够与雄激素受体(androgen
  • 三世纪危机三世纪危机,又名军事无政府状态或帝国危机(英语:Crisis of the Third Century),是指罗马帝国在235年(皇帝亚历山大·塞维鲁被杀)至284年(皇帝戴克里先即位)间受到三项同时发生的危机
  • 撒玛利亚救援会撒马利亚救援会(Samaritan's Purse),或译普善施,是一个总部位于美国北卡罗来纳州布恩的基督教福音派国际慈善机构。现任会长是葛福临。该组织的名称来自《新约》中好撒马利亚人
  • 财政收入经济政策财政政策 · 货币政策贸易政策 · 投资政策农业政策 · 产业政策能源政策 · 社会政策政策组合税收政策 · 预算政策政府收入 · 政府支出政府预算 · 赤字政府债
  • 纳罗斯海峡纳罗斯海峡(The Narrows,意为“窄堑”)是中美洲国家圣基茨和尼维斯的海峡,连接加勒比海和大西洋,分隔北面的圣基茨岛和南面的尼维斯岛,其很狭窄,最窄处仅3公里。
  • 伊塔洛·德赞伊塔洛·德赞(意大利语:Italo De Zan,1925年7月1日-2020年3月9日)是一位意大利自行车手。他曾获得1948年环意大利自行车赛(英语:1948 Giro d'Italia)第十阶段比赛的冠军。2020年3月9
  • 斯特凡·约维奇斯特凡·约维奇(塞尔维亚语:Стефан Јовић,1990年11月3日-),塞尔维亚篮球运动员,现在效力于塞尔维亚球队贝尔格莱德红星,他也是塞尔维亚国家男子篮球队的一员。
  • 王淦昌物理奖王淦昌物理奖,是以中国物理学家王淦昌命名的物理奖项,由中国物理学会设立并评选,授予在粒子物理和惯性约束核聚变方面做出突出贡献的中国物理学工作者。王淦昌物理奖每两年评选
  • 安尼斯敦 (阿拉巴马州)安尼斯敦(英语:Anniston)是美国阿拉巴马州卡尔霍恩县的一座城市。在美国2000年人口普查时,全镇总人口为24276人。该市同时也是卡尔霍恩县的县治。安尼斯敦位于33°39′46″N 85
  • 向上市场向上市场,是一个位在台中市西区的民有零售市场。该市场是麻园头地区及其周边最早发展的民有零售市场,因而成为当地日用品的主要贩售地点,并进而带动当地商业活动。该市场内部现