面向對象編程(Object Oriented Programming,OOP,面向對象程序設計)是一種計算機編程架構。OOP 的一條基本原則是計算機程序是由單個可以起到子程序做用的單元或對象組合而成。
核心思想:封裝,繼承,多態.
OOP 達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。爲了實現總體運算,每一個對象都可以接收信息、處理數據和向其它對象發送信息。
OOP 主要有如下的概念和組件:
組件 - 數據和功能一塊兒在運行着的計算機程序中造成的單元,組件在 OOP 計算機程序中是模塊和結構化的基礎。
抽象性 - 程序有能力忽略正在處理中信息的某些方面,即對信息主要方面關注的能力。
封裝 - 也叫作信息封裝:確保組件不會以不可預期的方式改變其它組件的內部狀態;只有在那些提供了內部狀態改變方法的組件中,才能夠訪問其內部狀態。每類組件都提供了一個與其它組件聯繫的接口,並規定了其它組件進行調用的方法。
多態性 - 組件的引用和類集會涉及到其它許多不一樣類型的組件,並且引用組件所產生的結果得依據實際調用的類型。
繼承性 - 容許在現存的組件基礎上建立子類組件,這統一併加強了多態性和封裝性。典型地來講就是用類來對組件進行分組,並且還能夠定義新類爲現存的類的擴展,這樣就能夠將類組織成樹形或網狀結構,這體現了動做的通用性。
因爲抽象性、封裝性、重用性以及便於使用等方面的緣由,以組件爲基礎的編程在腳本語言中已經變得特別流行,Java語言的出現使其oop思想可謂是發揚光大。Python 和 Ruby 是最近纔出現的語言,在開發時徹底採用了 OOP 的思想,而流行的 Perl 腳本語言從版本5開始也慢慢地加入了新的面向對象的功能組件。用組件代替「現實」上的實體成爲 JavaScript(ECMAScript) 得以流行的緣由,有論證代表對組件進行適當的組合就能夠在英特網上代替 HTML 和 XML 的文檔對象模型(DOM)。
編程