方法 (计算机科学)

✍ dations ◷ 2025-06-28 21:26:29 #计算机编程

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

相关

  • 降糖药抗糖尿病药用于降低血中的葡萄糖浓度来治疗糖尿病。除了胰岛素、艾塞那肽(英语:Exenatide)、利拉鲁肽和普兰林肽(英语:Pramlintide)外,其他的都是经由经由口服,所以又称为口服降血糖
  • 绞肉(或称碎肉、肉末、肉酱,潮汕话为肉糙,古代称醢)是用刀子或绞肉机切碎的肉,可以用任何肉类制成,是一种加工食品。绞肉通常是用较零碎、便宜的肉来制成,并可能加入食品添加物。绞
  • 拉德芳斯拉德芳斯(法语:La Défense)是巴黎都会区(英语:Paris Metropolitan Area)首要的中心商务区,位于巴黎市西郊的上塞纳省,邻近塞纳河畔纳伊。其涵盖的市镇包括库尔贝瓦以及皮托和南泰尔
  • 贾森·基德贾森·弗雷德里克·基德(英语:Jason Frederick Kidd,1973年3月23日-),外号J-Kidd,出生于美国加利福尼亚州的奥克兰,前美国NBA篮球运动员,担任控球后卫;曾任布鲁克林篮网和密尔沃基雄鹿
  • 三卤甲烷三卤甲烷是甲烷的四个氢中的三个被卤素取代基所取代的化合物。很多三卤甲烷在工业上被用作溶剂或制冷剂,也被认为是致癌物质。三卤甲烷也是污染环境的物质。另外,三个卤素取代
  • 琼雷语琼雷话是语言学中对闽语里面的海南话(琼文话)与雷州话的合称。海南话与雷州话均脱胎自古代闽南语。宋代末期,由于战乱,大量闽南人离开故乡,迁徙到雷州半岛和海南岛沿海一带。他们
  • TBS NEWSTBS NEWS是日本TBS电视台运营的一个24小时付费新闻频道,主要提供TBS和JNN电视网制作的新闻。频道于1998年4月1日开播,当时名称为“JNN News Bird”(JNNニュースバード),2006年4月
  • 星条旗美国国旗旗面由13道红白相间的宽条构成,左上角还有一个包含了50颗白色小五角星的蓝色长方形。50颗小星代表了美国的50个州,而13条间纹则象征着美国最早建国时的13个殖民地。红
  • 榕江县榕江县是中华人民共和国贵州省黔东南苗族侗族自治州下属的一个县,位于贵州东南部,黔东南州南部,是国家扶贫开发重点县之一。面积3315.8平方公里,2013年人口42万。县政府驻古州镇
  • 德布尔算法数学的子领域数值分析中,De Boor算法是快速而且数值上稳定的算法,用于计算B样条形式的样条曲线。这是用于贝兹曲线的de Casteljau算法的一个推广。一般的情况如下。我们要构造