Blogger 站內搜尋

顯示具有 [JAVA][入門教學]Java SE 入門教學-物件導向 標籤的文章。 顯示所有文章
顯示具有 [JAVA][入門教學]Java SE 入門教學-物件導向 標籤的文章。 顯示所有文章

2018年11月7日 星期三

Java SE 入門教學 - 物件導向

更新時間:11/07/2018

前言

在現代意義上的物件導向編程中引用「物件」和「導向」的術語在20世紀50年代末和60年代初首次出現在麻省理工學院。早在1960年人工智能組的環境中,「物件」就可以指具有屬性(properties, attributes)的識別項(LISP原子);Alan Kay 後來引用了對LISP內部的詳細理解,對他1966年的思想產生了強烈的影響。

在1960年的 Simula 語言中即可發現,當時的程式設計領域正面臨著一種危機:在軟硬體環境逐漸複雜的情況下,軟體如何得到良好的維護?物件導向程式設計在某種程度上通過強調可重複性解決了這一問題。1970年代的 Smalltalk 語言在物件導向方面堪稱經典——以至於多年後的今天依然將這一語言視為物件導向語言的基礎。

Smalltalk 的建立者深受 Simula 67 的主要思想影響,但 Smalltalk 中的物件是完全動態的——它們可以被建立、修改並銷毀,這與 Simula 中的靜態物件有所區別。此外,Smalltalk 還引入了繼承性的思想,它因此一舉超越了不可建立實體的程式設計模型和不具備繼承性的 Simula。

物件導向程式設計在1980年代成為了一種主導思想,這主要應歸功於 C++ —— C語言的擴充版。在圖形化使用者介面(GUI)日漸崛起的情況下,物件導向程式設計很好地適應了潮流。

James Gosling,Mike Sheridan 和 Patrick Naughton 於1991年6月發起了 Java 語言項目。Java 最初是為交互式電視而設計的,但它對於當時的數字有線電視行業來說太先進了。這種語言最初被稱為 Oak(橡樹),源於 Gosling 辦公室外的一棵 Oak。後來這個項目名為 Green,最後改名為 Java,來自 Java coffee。Gosling 使用 C / C ++ 風格的語法設計 Java,系統和應用程序程序員會覺得這種語法很熟悉。Sun Microsystems 於1996年發行 Java 1.0。

一、函數導向和物件導向的思想

物件導向和函數導向的思想有著本質上的區別,做為物件導向的思維來說,當您拿到一個問題時,您分析這個問題不在是第一步先做什麼,第二步再做什麼,這是物件導向的思維,您應該分析這個問題裡面有哪些類別和物件,這是第一點,然後再分析這些類別和物件應該具有那些屬性和方法,這是第二點。最後分析類別和類別之間具體有什麼關係,這是第三點。

物件導向有一個非常重要的設計思維:合適的屬性與方法應該出現在合適的類別裡面。