fbpx
维基百科

方法 (電腦科學)

物件導向程式設計中,方法(英語:Method;德語:Methode; 法語:Méthode)指的是類別(所謂的類別方法靜態方法工廠方法)、或者是物件(所謂的實體方法)兩者其中之一的一種子程式。如同程序化程式語言的程序,一個方法通常以一系列的語句所組成,並以之完成一個動作。其可以藉由輸入一組參數以制訂所需的動作,且一部分的方法可能會有輸出值(所謂的返回值)。方法的目的是提供一個機制,以存取(對於讀和寫)物件或類別的私有資料儲存區。

方法的種類

如前所述,實體方法附屬於特定物件,而類別或者靜態方法(又稱作共享方法)則附屬於某個類別。在典型的實踐中,實體方法傳送一個隱藏的參考(舉例來說,this或者self或者Me)給所屬的物件(不論類別或類別實例),所以它們可以存取與之相關的資料。一個類別方法的典型例子即:在給定的類別中,其內部記錄着已建立物件的計數。

建構子類似於方法,不過它們是在語句區塊中建立一個類別的實體時,所自動呼叫的。在JavaC++C#以及PHP裡,它們和所屬物件的類別,皆有相同的名稱。在Visual Basic裡,建構子稱為New,而且在Object Pascal裡,建構子可以有使用者所定義的名字(不過大多稱作Create)。建構子有一部分很像方法,不過也存在著許多差異,所以通常不把其視為方法。

解構子是一個特殊的實體方法,它是在解構一個類別的實體時,所自動呼叫的。在C++裡,它們和所屬物件的類別,皆有相同的名稱,只不過在前面多了一個波浪號(~)。在Object Pascal裡,解構子可以有使用者所定義的名字(不過大多稱作Destroy)。

抽象方法是一個虛設代碼的方法,它沒有實作。它通常用來佔住一個位置,讓子類別或者以此為原型的物件重載,並實作出相應的抽象方法。如此一來,抽象方法有助於明確表明一部分架構

存取方法通常是一個小型、簡單的,並提供一個用來從程式的其它部分存取物件狀態的方法。雖然它引入了一個新的附屬,但這是直接存取狀態資料的首選方法,因其提供了一個抽象層。例如,如果銀行帳戶類別提供了getBalance()的存取方法,其用以查詢餘額(而不是直接存取餘額資料區域),之後該部分代碼的修改版可以實作更複雜的查詢餘額機制(例如,取得資料庫),而無須改變相關的代碼。一個用來改變物件狀態的存取方法,通常稱作更新方法,有時又稱作更動方法。提供這些方法的物件就被認為是可變物件。

靜態(共享/類別)方法

如前所述,方法可能宣告為靜態的(在Visual Basic裡是shared,在Object Pascal裡是class),即靜態方法活動於類別層次,而非實體層次。靜態方法不能觸及一個特定的類別實例(也就是不能觸及thisself,Me等等)以下是以C‘ 撰寫的靜態成員以及其客戶端的例子:

 public class Example public static void StaticExample // 靜態方法的程式碼 public void InstanceExample M// 此處為實體方法的程式碼 M// 可以使用THIS /// 上述類別的客戶端: // 呼叫靜態方法(不包含實體) ExampleClass.StaticExample // 呼叫實體方法 ExampleClass objMyExample = ExampleClass objMyExample.InstanceExample

参考条目

參閱

方法, 電腦科學, 在物件導向程式設計中, 方法, 英語, method, 德語, methode, 法語, méthode, 指的是類別, 所謂的類別方法, 靜態方法或工廠方法, 或者是物件, 所謂的實體方法, 兩者其中之一的一種子程式, 如同程序化程式語言的程序, 一個方法通常以一系列的語句所組成, 並以之完成一個動作, 其可以藉由輸入一組參數以制訂所需的動作, 且一部分的方法可能會有輸出值, 所謂的返回值, 方法的目的是提供一個機制, 以存取, 對於讀和寫, 物件或類別的私有資料儲存區, 目录, 方法的種類,. 在物件導向程式設計中 方法 英語 Method 德語 Methode 法語 Methode 指的是類別 所謂的類別方法 靜態方法或工廠方法 或者是物件 所謂的實體方法 兩者其中之一的一種子程式 如同程序化程式語言的程序 一個方法通常以一系列的語句所組成 並以之完成一個動作 其可以藉由輸入一組參數以制訂所需的動作 且一部分的方法可能會有輸出值 所謂的返回值 方法的目的是提供一個機制 以存取 對於讀和寫 物件或類別的私有資料儲存區 目录 1 方法的種類 2 靜態 共享 類別 方法 3 参考条目 4 參閱方法的種類 编辑如前所述 實體方法附屬於特定物件 而類別或者靜態方法 又稱作共享方法 則附屬於某個類別 在典型的實踐中 實體方法傳送一個隱藏的參考 舉例來說 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 撰寫的靜態成員以及其客戶端的例子 public class Example public static void StaticExample 靜態方法的程式碼 public void InstanceExample M 此處為實體方法的程式碼 M 可以使用THIS 上述類別的客戶端 呼叫靜態方法 不包含實體 ExampleClass StaticExample 呼叫實體方法 ExampleClass objMyExample ExampleClass objMyExample InstanceExample参考条目 编辑面向对象的建模 面向对象的系统分析 面向对象设计 面向对象的程序设计 面向对象的程序设计语言 面向对象方法学 统一建模语言 软件设计模式 分析模式 软件重构 调试參閱 编辑實作繼承 繼承語義 子程式 虛擬繼承 方法名 取自 https zh wikipedia org w index php title 方法 電腦科學 amp oldid 65211387, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。