方法 (计算机科学)

✍ dations ◷ 2025-02-24 00:36:02 #计算机编程

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

相关

  • 葛伦克劳狄乌斯·盖伦(129年-200年)是一位古罗马的医学家及哲学家。他的见解和理论在他身后的一千多年里是欧洲起支配性的医学理论。出生于别迦摩,逝世于罗马。盖伦出生于一个建筑师
  • 隐孢子虫隐胞子虫病(Cryptosporidiosis)是由单细胞寄生虫隐胞子虫(Cryptosporidium )造成的脊椎动物肠道疾病,是导致人腹泻的主要原因之一。这是一类通过粪口途径传播的疾病,主要发生在
  • 质子溶剂在化学中,质子溶剂指分子中带有羟基或氨基的溶剂。更加笼统的说,任何可以给出H+的溶剂都可以被叫做质子化溶剂,例如氢氟酸。非质子溶剂则与此相反,不能贡献氢离子。质子溶剂的常
  • 玛德琳尼·罗宾森玛德琳尼·罗宾森(英语:Madeleine Robinson,1917年11月5日-2004年8月1日),是一名法国女演员。她出生于巴黎附近,母亲是法国人,而父亲是捷克人。
  • 托马斯·斯特尔那斯·艾略特托马斯·斯特恩斯·艾略特,OM(Thomas Stearns Eliot,1888年9月26日-1965年1月4日),美国英国诗人、评论家、剧作家,其作品对二十世纪乃至今日的文学史上影响极为深远。1948年,60岁的
  • 情绪化推理情绪化推理(英语:Emotional reasoning)指的是人只依照自身的情绪反应来确认另一件事是真是假,不考虑其他观察到事证的认知方式。例如,某人的妻子对丈夫忠心,但这个人因着情绪化推
  • 海辉软件国际集团海辉软件(国际)集团公司,或称海辉(英文名称:hiSoft Technology International Limited),是一家中国的信息技术外包公司,成立于1996年,提供软件开发、软件国际化、软件质量保证、软件
  • 周荣富周荣富(1909年2月1日-2002年10月26日),台湾知名慈善家,台北新庄(今新北市新庄区)人,曾任第一银行监察人。生于台湾日治时期明治四十二年(1909年)2月1日(农历正月初九日),卒于2002年10月26
  • 小周后小周后(950年-978年)南唐末主李煜第二任皇后,大周后的妹妹,清源郡公李仲寓、岐怀献王李仲宣姨母。史书上并没有记载她的名字,棋艺精湛,精于情趣享乐,为当时著名美女。周氏是大司徒周
  • 直穗小檗直穗小檗(学名:)为小檗科小檗属的植物。分布在中国大陆的青海、河北、宁夏、陕西、四川、湖北、河南、甘肃、山西等地,生长于海拔800米至3,400米的地区,常生于向阳山地灌丛中、山