python面向对象的概念_Python面向对象概念和三要素
語言分類
1、面向機(jī)器
抽象成機(jī)器指令,機(jī)器容易理解
代表:匯編語言
2、面向過程
做一個(gè)事情,排出步驟,第一步干什么,第二步干什么,如果出現(xiàn)情況A怎么處理,如果出現(xiàn)情況B做什么處理。
問題規(guī)模小,可以步驟化,按部就班
代表:C語言
3、面向?qū)ο驩OP
隨著計(jì)算機(jī)需要解決的問題的規(guī)模擴(kuò)大,情況越來越復(fù)雜。需要很多人,很多部門協(xié)作,面向過程不太合適了。
代表:C++,Java,Python等
面向?qū)ο?/p>
什么是面向?qū)ο竽?#xff1f;
面向?qū)ο笫且环N認(rèn)識世界、分析世界的方法論。將萬事萬物抽象成各種對象。
類class
類是抽象的概念,是萬事萬物的抽象,是一類事物的共同特征的集合。
用計(jì)算機(jī)語言來描述類,是屬性和方法的集合。
對象instance、object
對象是類的具象,是一個(gè)實(shí)體。
對于我們每個(gè)人這個(gè)個(gè)體,都是抽象概念人類的不同實(shí)體。
舉例:
你吃魚
你,就是對象;魚,也是對象;吃就是動作
你是具體的人,是具體的對象。你屬于人類,人類是個(gè)抽象的概念,是無數(shù)具體的人的個(gè)體的抽象。
魚,也是具體的對象,就是你吃的這一條具體的魚。這條魚屬于魚類,魚類是無數(shù)的魚抽象出來的概念。
吃,是動作,也是操作,也是方法,這個(gè)吃是你的動作,也就是人類具有的方法。如果反過來,魚吃人,吃就是魚類的動作了。
吃,這個(gè)動作,很多動物都具有的動作,人類和魚類都屬于動物類,而動物類是抽象的概念,是動物都有吃的動作,但是吃法不同而已。
屬性:它是對象狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述。
操作:它是對象行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法來描述。
每個(gè)人都是人類的一個(gè)單獨(dú)的實(shí)例,都有自己的名字、身高、體重等信息,這些信息是個(gè)人的屬性,但是這些信息不能保存在人類中,因?yàn)樗浅橄蟮母拍畈荒鼙4婢唧w的價(jià)值。
而人類的實(shí)例,是具體的人,他可以存儲這些具體的屬性,而且可以不同人有不同的屬性。
哲學(xué)
一切皆對象
對象是數(shù)據(jù)和操作的封裝
對象是獨(dú)立的,但是對象之間可以相互作用
目前OOP是最接近人類認(rèn)知的編程方式。
面向?qū)ο?要素
1、封裝
①、組裝:將數(shù)據(jù)和操作組裝到一起
②、隱藏?cái)?shù)據(jù):對外只暴露一些接口,通過接口訪問對象。比如駕駛員使用汽車,不需要了解汽車的構(gòu)造細(xì)節(jié),只知道使用什么部件怎樣駕駛就行,踩了油門就能跑,可以不了解其中的機(jī)動原理。
2、繼承
①、多復(fù)用,繼承來的就不用自己寫了
②、多繼承少修改,OCP(Open-closed Principle),使用繼承來改變,來體現(xiàn)個(gè)性。
3、多態(tài)
面向?qū)ο笞铎`活的地方,動態(tài)綁定
人類就是封裝;
人類繼承自動物類,孩子繼承父母特征。分為單一繼承、多繼承;
多態(tài),繼承自動物類的人類、貓類的操作“吃”不同。
總結(jié)
以上是生活随笔為你收集整理的python面向对象的概念_Python面向对象概念和三要素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的map函数求取每个元素的平
- 下一篇: 一个员工的离职成本有多恐怖!