(1)物件
物件是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具體的事物,還能表示抽象的規則、計畫或事件。
(2)物件的狀態和行為
物件具有狀態,乙個物件用資料值來描述它的狀態。
物件還有操作,用於改變物件的狀態,操作就是物件的行為。
物件實現了資料和操作的結合,使資料和操作封裝於物件的統一體中
(3)類
具有相同或相似性質的物件的抽象就是類。因此,物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件。
類具有屬性,它是物件的狀態的抽象,用資料結構來描述類的屬性。
類具有操作,它是物件的行為的抽象,用操作名和實現該操作的方法來描述。
(4)類的結構
在客觀世界中有若干類,這些類之間有一定的結構關係。通常有兩種主要的結構關係,即一般--具體結構關係,整體--部分結構關係。
①一般——具體結構稱為分類結構,也可以說是「或」關係,或者是「is a」關係。
②整體——部分結構稱為組裝結構,它們之間的關係是一種「與」關係,或者是「has a」關係。
(5)訊息和方法
物件之間進行通訊的結構叫做訊息。在物件的操作中,當乙個訊息傳送給某個物件時,訊息包含接收物件去執行某種操作的資訊。傳送一條訊息至少要包括說明接受訊息的物件名、傳送給該物件的訊息名(即物件名、方法名)。一般還要對引數加以說明,引數可以是認識該訊息的物件所知道的變數名,或者是所有物件都知道的全域性變數名。
類中操作的實現過程叫做方法,乙個方法有方法名、引數、方法體。訊息傳遞如圖10-1所示。
(1)物件唯一性
每個物件都有自身唯一的標識,通過這種標識,可找到相應的物件。在物件的整個生命期中,它的標識都不改變,不同的物件不能有相同的標識。
(2)分類性
分類性是指將具有一致的資料結構(屬性)和行為(操作)的物件抽象成類。乙個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。
(3)繼承性
繼承性是子類自動共享父類資料結構和方法的機制,這是類之間的一種關係。在定義和實現乙個類的時候,可以在乙個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。
繼承性是物件導向程式設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。
在類層次中,子類只繼承乙個父類的資料結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的資料結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是資訊組織與分類的行之有效的方法,它簡化了物件、類的建立工作量,增加了**的可重複使用性。
採用繼承性,提供了類的規範的等級結構。通過類的繼承關係,使公共的特性能夠共享,提高了軟體的重用性。
(4)多型性
多型性是指相同的操作或函式、過程可作用於多種型別的物件上並獲得不同的結果。不同的物件,收到同一訊息可以產生不同的結果,這種現象稱為多型性。
多型性允許每個物件以適合自身的方式去響應共同的訊息。
多型性增強了軟體的靈活性和重用性。
1. 要物件導向,首先要面向過程。
2. 所謂物件導向就是人的基本思維方法;
3. 特徵 --- 即屬性;
4. 行為 --- 即方法;
5. 物件和類
- 具有相同屬性和方法的物件分為一類;
- 物件是類的乙個例項,真實存在的;
- 類是物件的乙個抽象;
繼承:
function people(name,age)}function man(name,age)
man.prototype = new people();
var man1 = new man("張飛",20);
man1.show();
console.log(man1 instanceof people);
學習過程中,我們要多謝注釋,幫助理解,因為我感覺物件導向看起來很容易,但要培養這種程式設計思想卻不是一朝一夕能實現的。學會這種思想的好處有:
1、易維護
採用物件導向思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在區域性模組,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的專案的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴充套件
由於繼承、封裝、多型的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴充套件,而且成本較低。
python學習 物件導向程式設計
物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...
學習筆記 物件導向程式設計
學習日期 2016年9月26日 2016年9月27日 學習課程 物件導向程式設計 廖雪峰的官方 物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。在python中,所有資料型別...
Python學習 物件導向程式設計
物件導向 現實 具體的事物 程式 物件 物件導向涉及的 類物件 屬性方法 物件 例如 小明的手機 小紅的手機 小綠的手機 以上是物件的集合,某某某的手機就是具體的事物,在程式中就是物件。從物件中提取共同的特徵或者特點,作為乙個類別屬性。類別 手機類。電腦類學生類 等等共同的特徵 品牌 顏色 共同的動...