面向對象的編程指的是箱熬,以對象作為程序的基本模塊來進行軟件的分析、設計和開發(fā)的一種思考方法粘茄,是一種設計哲學侨核。
使用面向對象的編程語言寫程序和使用老舊的諸如 C 和 Pascal 等過程式編程語言編寫程序從根本上是不同的。過程式語言通過依靠過程(或程序)使用一系列說明來告訴計算機每一步該怎么做祈惶。然而雕旨, 面向對象的編程全部是關于對象的扮匠。這似乎是一個非常明顯的聲明。但是本質上凡涩,當我們談論面向對象編程的時候棒搜,我們需要考慮對象。
對象是包含屬性和方法的數據結構活箕。對象可以是一個東西力麸,這些對象可以是真實世界中的對象或者虛擬的對象。如果你四處看看育韩,你會發(fā)現很多真實世界中的對象克蚂,并且,實際上筋讨,它們中的所有一切都能以一種帶有屬性和動作的面向對象的方式被模型化埃叭。
對象:指的就是人能夠識別的東西
屬性:對象的性質和所具有的信息
消息:對象和對象之間的信息傳遞,是對象之間通信的唯一手段
發(fā)送者: 送信的對象
接收者:收信的對象
通過消息協調各個對象之間的消息發(fā)送悉罕,使其作為一個整體運行赤屋,這就是面向對象的軟件運行模式。
正是對象讓面向對象編程那樣強大壁袄。使用對象益缎,我們可以模型化真實世界中的對象, 例如加多寶的罐子然想、或視頻游戲中的諸如字符的虛擬對象莺奔。這些對象之后可以在我們的應用程序中交互以模型化真實世界中的行為或我們想要的虛擬世界中的行為。
在計算機程序中变泄,我們不能在沒有能告知程序期望什么樣的屬性和動作的藍圖的情況下創(chuàng)建對象令哟。在大部分面向對象的編程語言中,這個藍圖以類的形式出現妨蛹。類是一種允許我們把對象的屬性和動作封裝到單個類型中的結構屏富。
我們在類中使用構造函數(initializers)來創(chuàng)建類的實例。我們通常使用這些構造函數來為對象設置屬性的初始值或執(zhí)行我們的類需要的其它初始化蛙卤。一旦我們創(chuàng)建了類的實例狠半,之后就能在代碼中使用它了。
本文部分內容參考自面向對象編程和Objective-C編程全解一書