麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 技術開發 > 正文

面向對象思想的一點哲學探討

2023-06-23 14:40:21
字體:
來源:轉載
供稿:網友

本來想象著寫一整篇「面向對象編程思想的哲學起源」這樣的題目,筆走紙上,方才發現這樣的題目足夠出本書,知識不夠,寫不動。但心里還是想寫點自己的所思所想。

全篇就拿JAVA來舉例了。眾所周知,面向對象的四大基本要素:抽象(Abstract)、封裝(Encapsulation)、繼承(Inheritance)、多態(Polymorphism)。

很多人堅持《邏輯學》是唯物哲學的基礎,不懂,姑且不論。哲學就是對自然學科的抽象,看柏拉圖,更感覺哲學是在關心自然與人類的一種思辨;邏輯是一種工具,可直接參與到現實,指導人們的生產生活。關于邏輯的詳細,可以去讀一讀殷海光(〈殷海光哲學與文化思想論集〉南大出版社,推薦一下)。按照我的理解,哲學就是把人類的各種經驗總結起來,經高度提煉與縝密辯證之后,寫成定義之類的文字,編纂成典,供查看,可使后來的人少走些彎路。

不知道說亞里士多德是邏輯學的開山鼻祖正確與否,古希臘的智慧真是百花齊放。廢話少說,先看看一些定義——手上的書是三聯書店在1951年出版的,維諾ge拉多夫,庫茲明合著,劉執之譯,滿篇繁體——「人類對自然和社會的認識是從物質世界的對象對感官直接作用的結果所發生的感覺(Sensation)開始的。感覺是我們的意識對物質對象的這種或那種性質例如硬度、顏色等的反映。」

感覺很重要,是我們認識事物的第一步。人類可以發展「第六感」,可見,人類認識世界的潛力有多大。我們的感覺,是來自對「對象」的反應。對象很重要,我們從世界的千萬對象中,通過比較,認識總結了事物,并分成類別,打個比方,生物學上的門綱目科屬種,就是對自然界生物(對象)經過長期的認識總結之后,逐漸對它們產生了認識,這個認識的層次,就是抽象的層次,就對應產生了不同層次的概念,最終出現了上面的分類,越上層,抽象層次越高,概括越強,概念的內涵越廣,在面向對象的設計中,就體現為接口。

門綱目科屬種,是分類出來的,是概念的范疇,隨著人們對客觀世界生物認識,從種的概念一直抽象到門的概念,門便是此類概念的最高抽象,「門」便可以對應于OOP中的接口。類和概念,某種程度上是同義詞。

Bruce Eckel在其經典著作 Thinking in Java中講:Everything is an object(萬事萬物皆對象)。大家將此話視為「毛主席語錄」,久誦成典。在邏輯學中早有此解釋:「我們周圍現實環境中的事物和現象,在邏輯中叫做對象(Object)」。現在,我們可以大致從邏輯學中看出面向對象思想的哲學脈絡了。Bruce把哲學的語言文學化,兼具感染力。

對象之所以有意義,是因為可以被感覺,因為它的「存在」。一個物體占有空間和時間,才能在宇宙中確立它的坐標,表示它的存在。這個不消多說。在計算機世界,各種軟件硬件環境組成了一個虛擬世界。一個程序,只以概念(類的源碼)形式存儲在硬盤上,有什么意義呢?我們要讓這個程序運行起來,執行他的工作,才算是賦于它以意義,寫這段代碼的人,也算是血汗沒白流。所以,我們要讓這些源碼中的類(概念),對象化,讓其存在,運行,才有其意義。我們常用new關鍵字來對象化一個類,對象化,就是初始其占有空間,當其某個方法被調用時,產生了「行為」,占用了CPU的時間,很好,占有內存空間和CPU時間,確立了它在內存中的坐標,表示它存在,自此始,它有了意義。

同理,若一個對象在內存中失去了意義,便可以調用析構(destructor)方法(注:JAVA中的垃圾收集機制,可以自動回收無意義的對象),釋放空間與時間的占用,讓給其它的有意義的對象。人類亦是如此,每個活人皆是對象,死掉了,要注銷戶口,釋放其占用的空間與時間,讓給八零后的新一輩。

我這樣理解,概念就是對客觀世界中具體對象(Objects)的抽象,概念也是一組數據而已,概念可用數字來表達,概念闡述了地球上的人類對其周遭世界的看法,概念就是歸納,概念就是類(OOP中的概念,類class更準確理解為類型type),概念可以回歸世界的對象中,概念是人們在邏輯上認識事物的第一步,是最小「單位」。書中這樣定義:

「概念就是反映對象之一般的和本質的屬性的思考(對象的本質屬性就是表現對象的根本性質的那種屬性)。」

亞里士多德最早闡述了類的概念,例如「鳥類」、「魚類」。看到一群鳥,就有了感覺去比較,區分,最終認識他們。比較非常重要——「事物首先是靠比較法來認識的。」

所以在JAVA的宇宙類Object(對象,物質的意思)類中,有equals的方法。所有的類都要繼承Object類,equals的意思,就是用來實現程序中兩個對象的比較。順便再闡述一下比較(Comparison)的定義:

「這是用以確定客觀世界的對象、現象的類似之點和差異之點的一種邏輯方法。」

簡單地說,概念是怎么得到的呢?通過抽象。

「抽象(Abstraction)——這是我們用以思維地分出對象,現象的本質性質,而抽去對象和現象的非本質的,副次的性質的一種邏輯方法。」

和概念的定義大體上一個意思。在任何一個思考過程中,不使用抽象,是不可能的。當我們寫程序的時候,寫一個「飛機」的類(也就是寫一個「飛機」的概念出來,只不過概念的書寫語言不是英語或漢語,是一門程序語言如C或JAVA罷了),首先就要「抽象」了,看我們面向對象的四大特點之第一,便是這個抽象。

當我們寫一個「飛機」的類,我們就會去觀察盡可能多的飛機(對象),因為觀察的數量與程度,與對飛機這個概念的認識深度有直接關系,對后來的總結抽象,至最終的概念,都將起重大作用。像我們只觀察了飛機的外表,若觀察過內在的機理(如發動機),這個概念可能就要有些變化。我們研究抽象出了第一步——飛機有機翼、機身、起落架等等,隨著觀察數量的增多和觀察程度的深入,我們又對飛機的抽象加深一步,增加了發動機、駕駛艙等屬性。

概念與語詞,需要說一下,我們對概念的語詞,像上面我們定義「飛機」的概念,飛機就是語詞。概念的語詞,多為名詞,思維自然而然會做好這些事情。屬性也皆為名詞,方法是動詞。一個類中,屬性的作用就是存儲數據,方法(或函數)的作用便是操作這些數據,退一步講,就是動詞對名詞的修飾。類名作主語,名詞謂語,組成一個完整的語句,同時也是一個完整的概念。以動詞為名的方法的意義,是當概念回歸時,具體對象所表達的行為模式。如我們抽象了飛機的概念,我們可憑此概念去判別客觀世界中的某一物體是否為飛機,但是飛機本身客觀存在的意義又是這個具體對象的意義——它可以運輸貨物,或執行戰斗任務。起飛時收起起落架,降落時打開起落架,其中「收起」、「打開」便是一種行為,是這個「飛機」類的方法。方法是動詞命名,代表一種行為,修飾限制其屬性,屬性為名詞,構成動賓結構。

言歸正傳,對于屬性,如果大家對面向對象的編程略微熟悉,便知它的意義了。

「對象的品質和特性在邏輯上叫做屬性。」

上面我們在「飛機」的抽象中,列舉了諸如機翼、起落架,發動機等屬性,這都毫無疑問的是飛機的「品質和特性」了。

看來面向對象的編程思維確實有清晰的哲學源頭的。我們在寫「飛機」這個類時,寫了上述的屬性,然后非常自然的封裝起來。就是我們在定義屬性時寫的private(私有的)、public(公有的)、protected(受保護的)等修飾符(modifier),這些修飾符,只是為了限定類的屬性的開放程度。例如private的屬性,在繼承的類(概念)中是不能夠被直接使用的,這個封裝的哲學,與邏輯學本身不好說有直接關系。但是卻有著來自對生物學的深刻模仿。

繼承,是模仿了生物學上的繼承。后代繼承父輩基因,具有父輩的某些生物學特征。例如,我們抽象了飛機出來,飛機的祖宗是萊特兄弟的那一架,后來生產出來的,就是對萊特兄弟的飛機的概念的不斷豐富。假設我們寫了一個萊特兄弟的「飛機」類(概念),后來我們目睹了飛機的發展,我們就要不斷的寫新的類,繼承自這最初的「飛機」。這些繼承的類(概念)出現了更多的特點和品質,所以,我們要加。例如出現了噴氣式飛機,就要增加渦輪發動機,出現了隱形戰斗機,我們要加涂裝材料這個屬性,出現了水上飛機,就要繼承或添加一些關于船的屬性——雜交也是可以的,像騾子。

當我們在父類(父親)的屬性上用了private的修飾符,就是說,這個屬性,是個隱性基因,隱性遺傳到下一代。下一代不能直接表現出來這些屬性(品質、特點),當然也不能使用。雖然如此,這些基因(屬性)到底還是被繼承了。只要不實行如此嚴ge「封裝」,子類(兒子)便擁有從父類(父親)繼承來的一切特點,父親能做什么,兒子也同樣可以(沒有基因突變一說,畢竟CPU要嚴ge行事,否則,真成了智能計算機了,人類到這一步,恐怕還有一段路要走)。

父親有十個兒子,十個兒子各自繼承了父親的品質(類的屬性)和行為(類的方法),又各自有自己的特點,例如,都有胳膊腿兒,父親會用它們來耕作勞動,兒子們可能各異稟賦,或棍棒武術,或翻書寫字,或雕刻打磨,或裁補設計——總會產生新的特點,就需要在方法中重新來寫這個邏輯(行為邏輯),于是,在定義了新的行為之后,區別于父親。當父親ming令兒子們:都給老子去活動活動手腳——便有的裁剪衣飾去了,有的舞槍弄棒去了,有的則搖頭晃腦之乎者也去了。這就是多態(Polymorphism),就是一個屬性本來所表現的狀態,由于繼承,由于概念被豐富了,產生了不同的行為狀態。多態是由于繼承的發生,繼承本身,就是對概念的豐富和完善——新的飛機出來了,有了新的屬性和功能,那么舊的飛機類型派生出來新的飛機類型,來解釋當下飛機的新的概念。多態是繼承的結果,是一個進化的過程。因為,世界總不能夠千篇一律。靠近海灘的螞蟻,生出翅膀來,對生物存亡有重大意義,這個螞蟻的概念,就要拓展。

于是整個面向對象四大要素的哲學脈絡,便可觸可摸了。實用哲學,有其現實意義,作為一種科學的工具,當仔細研究。至于其它,看不懂;看懂的,十之八九不是瘋子,就是真正的哲學家。只總結最近的一些思考,雜亂,不堪再寫,到此為止。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av老司机久久 | 精品久久久久久中文字幕 | 一区二区三区欧洲 | 久久久av亚洲男天堂 | 国产亚洲精品久久久久久网站 | 免费久久久久久久 | 日韩一级成人 | 一级电影免费在线观看 | 日本精品一二区 | h久久 | 制服丝袜成人动漫 | 伦理三区| 国产精品啪一品二区三区粉嫩 | 久久精品中文字幕一区 | 4p嗯啊巨肉寝室调教男男视频 | 毛片免费大全短视频 | 欧美在线观看视频一区二区 | 精品国产一区二区亚洲人成毛片 | 在线成人www免费观看视频 | 亚洲日本高清 | 性 毛片 | 欧美久久久一区二区三区 | 韩国草草影院 | 91午夜在线观看 | av中文字幕免费在线观看 | 国产成人高潮免费观看精品 | 露脸各种姿势啪啪的清纯美女 | 欧美日韩手机在线观看 | 精品一区二区三区免费视频 | 久久久久久久久国产 | 欧美日韩免费一区 | 国产精品一区二区三区在线看 | 久久免费视频一区 | 91精品国产乱码久久久久久久久 | 日韩av电影免费在线观看 | 成人免费看视频 | 羞羞的动漫在线观看 | 免费看性xxx高清视频自由 | 依依成人精品视频 | 狠狠色噜噜狠狠狠米奇9999 | 91精品国产乱码久久久久久久久 |