方法 (计算机科学)

✍ dations ◷ 2025-12-05 21:14:13 #计算机编程

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

相关

  • 康力龙康力龙也称司坦唑醇(Stanozolol),雄激素类药物。白色粉末状无臭。几乎不溶于水,能溶于油脂。用于慢性消耗性疾病、纠正重症术后消瘦负氮平衡、男性性腺功能减退、骨质疏松症、小
  • 昆虫纲见内文昆虫在分类学上属于昆虫纲(学名:Insecta),是世界上最繁盛的动物,已发现超过100万种。其中单鞘翅目(Coleoptera)中所含的种数就比其它所有动物界中的种数还多。昆字原作䖵。昆
  • 哲学研究《哲学研究》是英籍奥地利哲学家路特维希·维特根施坦的著作。《哲学研究》讨论的问题涵盖了语义学、逻辑学、数学哲学,语言哲学和心灵哲学等领域。它是二十世纪最重要的哲学
  • 鲍里斯·贝克鲍里斯·贝克尔(德语:Boris Becker,1967年11月22日-),生于联邦德国巴登-符腾堡,外号“德国金童”,已退役的德国男子网球运动员,德国体育史上最佳男子网球选手,单打最高世界排名第一,6座
  • 氢可酮/扑热息痛氢可酮/扑热息痛(英语:Hydrocodone/paracetamol),亦称氢可酮/对乙酰氨基酚(英语:hydrocodone/acetaminophen),在市场上之商品名称之为维柯汀(Vicodin,又译凡可汀),是一种由氢可酮和扑热
  • 活化石活化石,是指任何生物其类似种只存在于化石中,而没有其他现存的近似种。这些种类曾经从主要的灭绝事件中存活下来,并保留过去原始的特性。活化石定义是一般先发现化石再发现活体
  • 寡妇寡妇是指死去丈夫的女性,又称孀妇、寡居、守寡或者孀居;死去妻子的男性则称为鳏夫,两者合称鳏寡。现在形容他们婚姻状况的正式名称通常是丧偶。在过去,寡妇的社会地位是重要社会
  • 雷海宗雷海宗(1902年6月18日-1962年12月25日) ,原名雷得义,字伯伦,中国历史学家,南开大学、清华大学等高校教授。著有《中国文化与中国的兵》、《文化形态史》、《西洋通史》、《中国通史
  • 联合国维持和平行动时间轴直至2018年4月,联合国核准及部署了71个维和行动,并不包括如朝鲜战争、波斯湾战争等在联合国核准底下进行的军事介入行动。 在联合国宪章中赋予联合国安全理事会的权力和责任,要
  • 美国死刑制度美国目前有31个州和联邦政府及军队有死刑法律,其余的州、海外领地和首都华盛顿特区没有死刑。在这些没有死刑的地区,绝大多数的最高刑罚是“终身监禁、不得假释”。另外,美国对