導航:首頁 > 編程語言 > java面向抽象編程

java面向抽象編程

發布時間:2023-03-03 02:42:54

java面向對象的程序設計思想是什麼

面向對象的程序設計簡稱OOP是當今主流的程序設計范型,面向對象的程序是內由對象組成的,每個對象包容含對用戶公開的特定功能部分和隱藏的實現部分。萬物皆對象的概念,由具有共同特徵和行為的對象抽象出此類對象的模型稱之為「類」

⑵ Java面向對象:理解什麼是抽象

1.抽象過程抄
所有編程語言都提襲供了一套抽象機制(對問題的抽象)。
匯編語言是對底層機器的輕微抽象,C,BASIC語言是對匯編語言的抽象。但是他們在解決問題時依然要求基於計算機的結構(面向過程),而不是基於問題來解決。所以程序員在解決問題時,經常需要建立機器模型<----->實際問題之間的關聯。
面向對象則通過提供問題中涉及到的元素(對象),使得程序員不再受限於任何特定類型的問題。因為OOP的實質是:程序可以通過添加新類型的對象使自身適用於某個特定問題,所以,當閱讀問題解決方案的代碼時,實際上也是在閱讀問題的表述(各對象協調配合共同完成這個問題的過程,實際上就是在描述這個問題)。所以OOP是根據問題來描述問題,而不是通過運行解決方案的代碼來描述問題。
對象具有狀態(每個對象的內部數據),行為(方法,方法的調用產生行為)和標識(用來唯一的與其他對象區分開來,在內存中的對象,都有唯一地址來標識)。

⑶ java中抽象類和介面的區別

抽象類是用來捕捉子類的抄通用特性的 。它不能被實例化,只能被用作子類的超類。抽象類是被用來創建繼承層級里子類的模板。

介面是抽象方法的集合。如果一個類實現了某個介面,那麼它就繼承了這個介面的抽象方法。這就像契約模式,如果實現了這個介面,那麼就必須確保使用這些方法。介面只是一種形式,介面自身不能做任何事情。

(3)java面向抽象編程擴展閱讀:

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。

通常在編程語句中用 abstract 修飾的類是抽象類。在C++中,含有純虛擬函數的類稱為抽象類,它不能生成對象;在java中,含有抽象方法的類稱為抽象類,同樣不能生成對象。

抽象類是不完整的,它只能用作基類。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變數的角色。

⑷ java面向對象的特徵有哪些方面

計算機軟體系統是現實生活中的業務在計算機中的映射,而現實生活中的業務其實就是一個個對象協作的過程。面向對象編程就是按現實業務一樣的方式將程序代碼按一個個對象進行組織和編寫,讓計算機系統能夠識別和理解用對象方式組織和編寫的程序代碼,這樣就可以把現實生活中的業務對象映射到計算機系統中。
面向對象的編程語言有封裝、繼承 、抽象、多態等4個主要的特徵。
1封裝:
封裝是保證軟體部件具有優良的模塊性的基礎,封裝的目標就是要實現軟體部件的「高內聚、低耦合」,防止程序相互依賴性而帶來的變動影響。在面向對象的編程語言中,對象是封裝的最基本單位,面向對象的封裝比傳統語言的封裝更為清晰、更為有力。面向對象的封裝就是把描述一個對象的屬性和行為的代碼封裝在一個「模塊」中,也就是一個類中,屬性用變數定義,行為用方法進行定義,方法可以直接訪問同一個對象中的屬性。通常情況下,只要記住讓變數和訪問這個變數的方法放在一起,將一個類中的成員變數全部定義成私有的,只有這個類自己的方法才可以訪問到這些成員變數,這就基本上實現對象的封裝,就很容易找出要分配到這個類上的方法了,就基本上算是會面向對象的編程了。把握一個原則:把對同一事物進行操作的方法和相關的方法放在同一個類中,把方法和它操作的數據放在同一個類中。
例如,人要在黑板上畫圓,這一共涉及三個對象:人、黑板、圓,畫圓的方法要分配給哪個對象呢?由於畫圓需要使用到圓心和半徑,圓心和半徑顯然是圓的屬性,如果將它們在類中定義成了私有的成員變數,那麼,畫圓的方法必須分配給圓,它才能訪問到圓心和半徑這兩個屬性,人以後只是調用圓的畫圓方法、表示給圓發給消息而已,畫圓這個方法不應該分配在人這個對象上,這就是面向對象的封裝性,即將對象封裝成一個高度自治和相對封閉的個體,對象狀態(屬性)由這個對象自己的行為(方法)來讀取和改變。一個更便於理解的例子就是,司機將火車剎住了,剎車的動作是分配給司機,還是分配給火車,顯然,應該分配給火車,因為司機自身是不可能有那麼大的力氣將一個火車給停下來的,只有火車自己才能完成這一動作,火車需要調用內部的離合器和剎車片等多個器件協作才能完成剎車這個動作,司機剎車的過程只是給火車發了一個消息,通知火車要執行剎車動作而已。

抽象:
抽象就是找出一些事物的相似和共性之處,然後將這些事物歸為一個類,這個類只考慮這些事物的相似和共性之處,並且會忽略與當前主題和目標無關的那些方面,將注意力集中在與當前目標有關的方面。例如,看到一隻螞蟻和大象,你能夠想像出它們的相同之處,那就是抽象。抽象包括行為抽象和狀態抽象兩個方面。例如,定義一個Person類,如下:
class Person
{
String name;
int age;
}
人本來是很復雜的事物,有很多方面,但因為當前系統只需要了解人的姓名和年齡,所以上面定義的類中只包含姓名和年齡這兩個屬性,這就是一種抽像,使用抽象可以避免考慮一些與目標無關的細節。我對抽象的理解就是不要用顯微鏡去看一個事物的所有方面,這樣涉及的內容就太多了,而是要善於劃分問題的邊界,當前系統需要什麼,就只考慮什麼。

繼承:
在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並可以加入若干新的內容,或修改原來的方法使之更適合特殊的需要,這就是繼承。繼承是子類自動共享父類數據和方法的機制,這是類之間的一種關系,提高了軟體的可重用性和可擴展性。

多態:
多態是指程序中定義的引用變數所指向的具體類型和通過該引用變數發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變數倒底會指向哪個類的實例對象,該引用變數發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變數綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。多態性增強了軟體的靈活性和擴展性。例如,下面代碼中的UserDao是一個介面,它定義引用變數userDao指向的實例對象由factory.getDao()在執行的時候返回,有時候指向的是UserJdbcDao這個實現,有時候指向的是UserHibernateDao這個實現,這樣,不用修改源代碼,就可以改變userDao指向的具體類實現,從而導致userDao.insertUser()方法調用的具體代碼也隨之改變,即有時候調用的是UserJdbcDao的insertUser方法,有時候調用的是UserHibernateDao的insertUser方法:
UserDao userDao = factory.getDao();
userDao.insertUser(user);

如果滿意請給分哦!

⑸ 面向對象的程序設計語言有哪些

1、Smalltalk:
Smalltalk,被公認為歷史上第二個面向對象的程序設計語言,和第一個真正的集成開發環境(IDE)。

Smalltalk對其它眾多的程序設計語言的產生起到了極大的推動作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的許多軟體開發思想得利於Smalltalk,例如設計模式、敏捷編程和代碼重構等。

(5)java面向抽象編程擴展閱讀

面向對象語言既可以用面向對象語言實現,也可以用非面向對象語言實現。面向對象程序設計語言本身就支持面向對象概念的實現,其編譯程序可以自動地實現面向對象概念到目標程序的映射。

面向對象的採用方法從問題域表示到面向對象分析,再到面向對象設計與實現始終穩定不變。一致的表示方法不但有利於在軟體開發過程中始終使用統一的概念,也有利於維護人員理解軟體的各種配置成分。

閱讀全文

與java面向抽象編程相關的資料

熱點內容
蘋果平板型號a1395 瀏覽:116
html中添加php代碼 瀏覽:712
tidb資料庫 瀏覽:763
supersu二進制更新文件 瀏覽:293
怎麼製作app圖標 瀏覽:801
信用村的數據如何實現更新 瀏覽:238
瀏覽器工具在哪 瀏覽:579
月度數據包含哪些 瀏覽:875
成都公積金app為什麼下載不了 瀏覽:621
2014微雲版本 瀏覽:903
文件保存路徑規范 瀏覽:827
vb編程如何新建excel 瀏覽:83
穿越火線文件名字 瀏覽:750
最新款快手如何無水印網站視頻 瀏覽:625
劍靈到50級後怎麼升級 瀏覽:671
文本文件內容開機以後發現沒了 瀏覽:593
ie單文件英文 瀏覽:865
如何修改數據表的數據 瀏覽:476
找出取走了哪個數據 瀏覽:229
做app除了app還有哪些消費 瀏覽:276

友情鏈接