Python-面向對象編程01_什么是面向對象


  Python從設計之初就已經是一門面向對象的語言了,正因如此,在Python中創建一個類和對象是很容易的。

什么是面向對象?

  面向對象程序設計(Object-oriented programming,OOP)是一種程序設計范型,也是一種程序開發方法。對象指的是類的實例,類是創建對象的模板,一個類可以創建多個對象,每個對象都是類類型的一個變量;創建對象的過程也叫作類的實例化。面向對象程序設計將對象作為程序的基本單元,將程序和數據封裝其中,以提高軟件的重用性、靈活性和擴展性。面向對象編程中的主要概念如下:

  類(class):

  定義了一件事物的抽象特點。通常來說,類定義了事物的屬性和它可以做到的行為。比如拿人來說,人類是一個類,黃種人、白種人和黑人;男人和女人,都具有人類的特征或行為,比如身高、體重、膚色、吃飯、睡覺、生老病死等等。一個類中可以有成員函數和成員變量。在面向對象的術語中,成員函數被稱為方法;成員變量被稱為屬性。

  對象(object):

  是類的實例。當一個類被實例化時,他的屬性就有了具體的值(比如,人類是一個類,具體到某一個人的時候,他就有具體的身高、體重、膚色等)。每個類可以有若干個可以被實例化的對象。在操作系統中,系統給對象分配內存空間,而不會給類分配內存空間。

  繼承(inheritance):

  是指通過一個已有的類(父類)定義另外一個類(子類),子類共享父類開放的屬性和方法子類的對象除了是一個子類的一個實例,還是其父類的一個實例。舉個例子:人類做為父類,實例化一個子類黃種人,黃種人(子類)實例化一個對象中國人。中國人除了是黃種人(子類)的一個實例,也是人類(父類)的一個實例。

  封裝性(Encapsulation):

  封裝性是指類在定義時可以將不能活不需要其他類知道的成員定義成私有成員,而只公開其他類需要使用的成員,以達到信息隱蔽和簡化的作用。比如:通過眼睛觀察我們可以大概知道其他人的膚色、性別等等,但是比如血型、DNA等等是無法直接得知的。

  多態性(Polymorphism):

  是指同一方法作用於不同的對象,可以有不同的解釋,產生不同的執行結果。在具體實現方法上,多態性是允許開發者將父對象的變量設置為對子對象的引用,賦值之后,父對象變量就可以根據當前的賦值給他的子對象的特性以不同的方式運作。比如:黃種人和白種人還有黑種人都屬於人類,但是其膚色屬性是不一樣的(賦值不同)。

  

  隨着面向對象編程(OPP)的普及,面向對象程序設計(OOD)也只日臻成熟,形成了以UML(Unified Modieling Language)為代表的標准建模語言。UML是一個支持模型化和軟件系統開發的圖形化語言,為軟件開發的所有階段提供了模型化和可視化支持,包括由需求分析到規格,再到構造和配置的所有階段。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM