方法 (计算机科学)

✍ dations ◷ 2025-09-09 02:50:38 #计算机编程

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

相关

  • 滋养体活动体(trophozoite)是原虫类寄生虫(Protozoan parasites)生活史上的一个活跃、有运动性和繁殖的阶段。活动体之后会发展成裂殖体(schizont)阶段,即成为一个母细胞。寄生虫在活动体
  • 卡旺托约瑟夫·比埃奈默·卡旺图(Joseph Bienaime Caventou)是一位法国药剂师。1795年,他出生于圣奥梅尔,曾就读于巴黎药学院(École de Pharmacie)和巴黎科学学院。1816年进入圣安托瓦
  • 卡尔文循环卡尔文循环(英语:Calvin cycle,或简称卡氏循环,又译作开尔文循环)是由美国加州大学伯克利分校梅尔文·卡尔文、安德鲁·本森和詹姆士·巴沙姆 3 人发现。梅尔文·卡尔文于1961年
  • 喷出岩喷出岩是一种火成岩,也被称为火山岩,是由火山喷出的岩浆在地表迅速冷却凝固后形成的岩石,由于冷却速度很快,一般喷出岩的结构会形成细粒、隐晶,或形成玻璃质,经常包含有碎屑和斑晶
  • 弗吉尼亚公司弗吉尼亚公司(英语:Virginia Company)是由一些英国商人在1606年成立,由于西班牙贵族和皇室在中南美洲发现大量金子而变得极端富裕,使整个欧洲都相信美洲,特别是北美洲——一个没白
  • 侍郎侍郎为中国、越南、朝鲜官制名称,一般来说,创建于汉代,并沿用到20世纪初。相当于今日的副部长。汉朝为郎官的一种,本为是宫廷的近侍。东汉以后,作为尚书的属官,初任为郎中,满一年为
  • 总语系总语系(英语:Macrofamily)在历史语言学是指能够包容其所延伸出来语言的较大规模之分类,然而有的时候也会拿来形容如亚非语系这类大型的语系。现在有另一个说法是语门。
  • 美国北部美国北部(,)是指美国北部与加拿大接壤但是位于西部地区以东的地区,现今通常专指中西部、东北部和新英格兰地区。和南部相比,美国北部自古就和外国交往较多,因此北部的文化也混入了
  • 内瓦尔人内瓦尔人是一群位于尼泊尔之加德满都峡谷的原住民。根据尼泊尔的2001年的人口普查,内瓦尔人的总人口为1,245,232人,是该国的第六大民族,占全国人口的5.48%。尼瓦尔人史前就生活
  • 茨维瑟尔山 (基姆高山脉)坐标:47°45′21″N 12°48′43″E / 47.75583°N 12.81194°E / 47.75583; 12.81194茨维瑟尔山(德语:Zwiesel),是德国的山峰,位于该国南部,由巴伐利亚负责管辖,属于基姆高山脉的一