方法 (计算机科学)

✍ dations ◷ 2025-12-02 14:14:28 #计算机编程

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

相关

  • 俄白联盟俄白联盟(俄语:Сою́з Росси́и и Белору́ссии),前身是俄白共同体,是由俄罗斯和白俄罗斯于1997年4月2日签订《俄罗斯和白俄罗斯联盟条约》而设立。两国公
  • 露天排便露天排便(英语:Open defecation,或称随地便溺、随地大小便),是指人类不使用卫生间,选择在室外排便。人会因难以找到合适的卫生间,或因其风俗的缘故,而选择在室外譬如灌木丛、森林、
  • 老挝中央银行坐标:17°57′57″N 102°36′25″E / 17.965772°N 102.607003°E / 17.965772; 102.607003老挝人民民主共和国银行(老挝语:ທະນາຄານ ແຫ່ງ ສ.ປ.ປ.ລາວ;英语:Bank
  • 水煤气水煤气(英语:Syngas/synthesis gas)一般指一氧化碳与氢气混合的燃料气体(有时亦包含些许二氧化碳),一般为气化反应的产物,主要用途为发电。合成气是可燃的,并经常被用来作为内燃机的
  • 卤部卤部,为汉字索引中的部首之一,康熙字典214个部首中的第一百九十七个(十一划的则为第三个)。就正体中文中,卤部归于十一划部首,而简体中文则归在七划。卤部只以左方为部字。且无其
  • 光甾醇光甾醇(英语:Lumisterol,又叫光固醇,(3b,9b,10a,22E)-Ergosta-5,7,22-trien-3-ol)是一种分子式为C28H44O的类固醇化合物,是麦角固醇的(9β,10α)立体异构物。过去的维生素D1实际上
  • 清声门塞擦音清声门塞擦音是一种辅音,使用于一些口语中。国际音标写作⟨ʔ͡h⟩或⟨ʔ͜h⟩,X-SAMPA音标则记作?_h。其中间的弧线可以省略,则音标可以分别改写作⟨ʔh⟩(IPA)、?h(X-SAMPA)。清
  • 曹莘亚曹莘亚(1985年10月15日-),艺名亚亚,毕业于敦化国小、敦化国中、内湖高中和国立台湾师范大学人类发展与家庭系。因参加《le tea girls》选拔赛,荣获第一名的佳绩后出道,并成为Channe
  • 陈士启陈士启(1366年-1431年),名雷,江西泰和县(今江西泰和)人。明朝初期政治人物。永乐二年(1404年)甲申科二甲第十一名进士,选为翰林院庶吉士,编撰《永乐大典》。升礼部郎中,累任山东右参政。
  • 瑞士信贷集团瑞士信贷集团股份有限公司(英语:Credit Suisse Group AG)是一家拥有全球财富管理、投资银行及金融服务等业务的公司,该公司成立于瑞士。瑞士信贷集团总部位于苏黎世并在全球主要