物件 (電腦科學)
喺物件導向編程上,一件物件(英文:object)係指一個類別(class)下嘅一個實例,具有某柞特定嘅變數(特性)同子程序(方法)。
概論
編輯物件導向編程(OOP)係一種編程範式,根基概念係類別(class)同物件。喺最基本嘅 OOP 當中,個程式裏面啲物件多數都係有返啲範本嚟參照造出嘅,呢啲範本就係所謂嘅類別-一個類別會講明屬於呢個類別嘅物件每一件會掕住嘅
而一件物件就係佢所屬嗰個類別嘅一個實例(instance),即係按個類別嘅模嚟造出嘅[1]。用以下嘅 MATLAB 碼做例子[2][3]:
classdef BasicClass % 定義 BasicClass 呢個 class...
properties % 呢個 class 有以下呢啲特性...
Value {mustBeNumeric} % Value 係唯一一個特性,一定要係一個數...
end
methods % 呢個 class 有以下呢啲方法...
function r = roundOff(obj) % 每個 function 都係一個方法...
r = round([obj.Value],2);
end
function r = multiplyBy(obj,n)
r = [obj.Value] * n;
end
end
end
...
a = BasicClass; % 創造一件叫 a 嘅物件,件物件屬 BasicClass 呢個 class。
a.Value = pi/3; % a 嘅 Value 設做 pi/3(圓周率除 3)咁多。
OOP 嘅諗頭源自 1960 年代[4],到咗 1990 年代經已成為咗其中一種最重要嘅程式編寫範式。噉係因為事實表明喺好多應用上,類別同物件嘅做法都幫到手令個程式更加容易打理:舉例說明,想像有位遊戲製作師喺度編寫佢隻新遊戲嘅程式,佢想創造一個虛擬世界俾玩家喺裏面郁動;佢想個虛擬世界設計成好似一個現實嘅城市噉,度緊個城市其中一條街要點設計,佢想條街有幾架車泊咗喺度做佈景,佢可以設定一個「車」嘅類別,個類別每個實例都有「色水」同「位置」等嘅變數,然後叫個程式將「建構一個車嘅實例」呢樣嘢做三次-就唔使吓吓都重新打過「建構一個車嘅實例」嘅碼。有研究者指,依種程式寫法能夠令個程式嘅運作更加貼近現實世界嘅思維,而且彼此相關嘅資料同行為,都會歸一喺一件物件之內,會比較易管理[5][6]。
註釋
編輯睇埋
編輯參攷
編輯- ↑ Booch, Grady (1986). Software Engineering with Ada. Addison Wesley. p. 220.
- ↑ Kindler, E.; Krivy, I. (2011). "Object-Oriented Simulation of systems with sophisticated control". International Journal of General Systems: 313–343.
- ↑ Lewis, John; Loftus, William (2008). Java Software Solutions Foundations of Programming Design (6th ed). Pearson Education Inc. ISBN 978-0-321-53205-3., section 1.6 "Object-Oriented Programming".
- ↑ McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, swapnil d.; Levin, Michael I. (1962). LISP 1.5 Programmer's Manual. MIT Press. p. 105. ISBN 978-0-262-13011-0. Object - a synonym for atomic symbol.
- ↑ Quick Tip: Intro to Object-Oriented Programming for Game Development.
- ↑ Jacobson, Ivar (1992). Object-Oriented Software Engineering: A Use Case-Driven Approach. Addison-Wesley.