方法 (计算机科学)

✍ dations ◷ 2025-06-08 05:59:06 #计算机编程

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

相关

  • 耶尔辛氏菌属耶尔辛氏菌属(学名:Yersinia)是肠杆菌目肠杆菌科的一个属。耶尔辛氏菌属内的细菌均为革兰氏阴性菌。这些细菌属于杆状菌,按异化类型分则属于兼性厌氧菌。该属内的细菌长达几微米
  • 转移矩阵在数学中,随机矩阵(stochastic matrix)是用来描述一个马尔可夫链的转变的矩阵,亦称为概率矩阵(probability matrix)、转移矩阵(transition matrix)、替代矩阵(substitution matrix)或
  • 领英LinkedIn(IPA: /ˈlɪŋktˈɪn/,NYSE:LNKD),中文名为领英,是一款近似Facebook的社交网络。完成注册后会自动产生和带入电子名片。专门为商业人士设立。网站的目的是让注册用户维
  • 法国驻韩大使馆法国驻韩大使馆(法语:Ambassade de France en Corée du Sud、韩语:주한 프랑스 대사관)是法国驻在大韩民国的外交代表机构,位于首尔西大门区。现任大使是法比安·潘农,2015年6月3
  • 刘琳刘琳(1974年4月13日-),北京人,中国大陆女演员。代表作有电视剧《香樟树》、《父母爱情》、《知否知否应是绿肥红瘦》等。
  • 黄海南道黄海南道(朝鲜语:황해남도/黃海南道 Hwanghaenam do */?),是朝鲜西南部的地方行政区。人口218万人。 道政府所在海州市。管辖1市19郡418里25洞10劳动地区。西面黄海(朝鲜称为西
  • 2019冠状病毒病阿联酋疫情 除特别注明外,本文所有时间均以东四区时间(UTC+4)为准。2019冠状病毒病阿联酋疫情,介绍在2019新型冠状病毒疫情中,在阿拉伯联合酋长国发生的情况。2020年1月29日,阿拉伯联合酋长
  • 克鲁泡特金站克鲁泡特金站(俄语:Кропо́ткинская,罗马化:Kropotkinskaya)是莫斯科地铁的一个车站。克鲁泡特金站是索科利尼基线的车站,也是莫斯科历史最古老的车站之一,设计者是Al
  • 凯奥雷斯凯奥雷斯(法语:Keolis),是总部位于巴黎的一家法国的公司,它是世界上最大规模的私人运输公司。其运营业务包括铁路、电车、公交、缆车、无轨电车和机场业务。  法国国家铁路占有
  • 安国市安国市是中华人民共和国河北省的一个县级市,由保定市代管,素有“药都”和“天下第一药市”之称,与安徽亳州同为南北中药材集散地。现在通常意义上的安国主要指祁州镇。汉武帝元