本文目錄一覽:
北大青鳥設計培訓:Java面向對象的四個特徵?
1.抽象:抽象——就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。
(就是把現實世界中的某一類東西,提取出來,用程序代碼表示,抽象出來一般叫做類或者介面。
)抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。
廣州java培訓認為抽象包括兩個方面,一是數據抽象,二是過程抽象。
數據抽象——就是用代碼的形式表示現時世界中一類事物的特性,就是針對對象的屬性。
比如建立一個鳥這樣的類,鳥都有以下屬性:一對翅膀、兩隻腳、羽毛等。
抽象出來的類都是鳥的屬性,或者成員變數。
過程抽象——就是用代碼形式表示現實世界中事物的一系列行為,就是針對對象的行為特徵。
比如鳥會飛、會叫等。
抽象出來的類一般都是鳥的方法。
2.繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。
對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。
新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。
派生類可以從它的基類那裡繼承方法和實例變數,並且類可以修改或增加新的方法使之更適合特殊的需要。
因此可以說,繼承是為了重用父類代碼,同時為實現多態性作準備。
3.封裝:封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。
面向對象計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的介面訪問其他對象。
封裝隱藏了類的內部實現機制,從而可以在不影響使用者的前提下改變類的內部結構,同時保護了數據。
4.多態性:多態性是指允許不同類的對象對同一消息作出響應。
多態性包括參數化多態性和包含多態性。
多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。
總的來說,方法的重寫、重載與動態鏈接構成多態性。
Java引入多態的概念原因之一就是彌補類的單繼承帶來的功能不足。
(為規避C++中多繼承造成的複雜繼承問題,java採用單繼承。
)動態鏈接——對於父類中定義的方法,如果子類中重寫了該方法,那麼父類類型的引用將會調用子類中的這個方法,這就是動態鏈接。
注意:繼承與重載:一是子類與父類的關係,二是重載方法的調用問題。
子類對象可以直接當成父類對象使用,但反過來就不可以。
舉例來說,人是父類,學生是人的子類,所以學生對象一定具備人對象的屬性,但是人對象就未必具有學生對象的特性。
所以學生對象可以當做人對象來使用,但是人對象就不能當做學生對象使用。
注意當把子類對象當成父類對象使用時,子類對象將失去所有的子類特性,只保留與父類同名的屬性和方法(同名方法不僅是函數名相同,而且參數類型也要一樣,否則不予保留)。
此時可以對父類方法進行重寫。
一個類中如果定義了重載的方法,則系統在調用方法時,會根據參數的類型自動選擇調用合適的方法。
Java面向對象的特徵是什麼?
您好,對於你的遇到的問題,我很高興能為你提供幫助,我之前也遇到過喲,以下是我的個人看法,希望能幫助到你,若有錯誤,還望見諒!。展開全部
計算機軟體系統是現實生活中的業務在計算機中的映射,而現實生活中的業務其實就是一個個對象協作的過程。面向對象編程就是按現實業務一樣的方式將程序代碼按一個個對象進行組織和編寫,讓計算機系統能夠識別和理解用對象方式組織和編寫的程序代碼,這樣就可以把現實生活中的業務對象映射到計算機系統中。
面向對象的編程語言有封裝、繼承 、抽象、多態等4個主要的特徵。
1封裝:
封裝是保證軟體部件具有優良的模塊性的基礎,封裝的目標就是要實現軟體部件的「高內聚、低耦合」,防止程序相互依賴性而帶來的變動影響。在面向對象的編程語言中,對象是封裝的最基本單位,面向對象的封裝比傳統語言的封裝更為清晰、更為有力。面向對象的封裝就是把描述一個對象的屬性和行為的代碼封裝在一個「模塊」中,也就是一個類中,屬性用變數定義,行為用方法進行定義,方法可以直接訪問同一個對象中的屬性。通常情況下,只要記住讓變數和訪問這個變數的方法放在一起,將一個類中的成員變數全部定義成私有的,只有這個類自己的方法才可以訪問到這些成員變數,這就基本上實現對象的封裝,就很容易找出要分配到這個類上的方法了,就基本上算是會面向對象的編程了。把握一個原則:把對同一事物進行操作的方法和相關的方法放在同一個類中,把方法和它操作的數據放在同一個類中。
例如,人要在黑板上畫圓,這一共涉及三個對象:人、黑板、圓,畫圓的方法要分配給哪個對象呢?由於畫圓需要使用到圓心和半徑,圓心和半徑顯然是圓的屬性,如果將它們在類中定義成了私有的成員變數,那麼,畫圓的方法必須分配給圓,它才能訪問到圓心和半徑這兩個屬性,人以後只是調用圓的畫圓方法、表示給圓發給消息而已,畫圓這個方法不應該分配在人這個對象上,這就是面向對象的封裝性,即將對象封裝成一個高度自治和相對封閉的個體,對象狀態(屬性)由這個對象自己的行為(方法)來讀取和改變。一個更便於理解的例子就是,司機將火車剎住了,剎車的動作是分配給司機,還是分配給火車,顯然,應該分配給火車,因為司機自身是不可能有那麼大的力氣將一個火車給停下來的,只有火車自己才能完成這一動作,火車需要調用內部的離合器和剎車片等多個器件協作才能完成剎車這個動作,司機剎車的過程只是給火車發了一個消息,通知火車要執行剎車動作而已。
抽象:
抽象就是找出一些事物的相似和共性之處,然後將這些事物歸為一個類,這個類只考慮這些事物的相似和共性之處,並且會忽略與當前主題和目標無關的那些方面,將注意力集中在與當前目標有關的方面。例如,看到一隻螞蟻和大象,你能夠想像出它們的相同之處,那就是抽象。抽象包括行為抽象和狀態抽象兩個方面。例如,定義一個Person類,如下:
class Person
{
String name;
int age;
}
人本來是很複雜的事物,有很多方面,但因為當前系統只需要了解人的姓名和年齡,所以上面定義的類中只包含姓名和年齡這兩個屬性,這就是一種抽像,使用抽象可以避免考慮一些與目標無關的細節。我對抽象的理解就是不要用顯微鏡去看一個事物的所有方面,這樣涉及的內容就太多了,而是要善於劃分問題的邊界,當前系統需要什麼,就只考慮什麼。
繼承:
在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並可以加入若干新的內容,或修改原來的方法使之更適合特殊的需要,這就是繼承。繼承是子類自動共享父類數據和方法的機制,這是類之間的一種關係,提高了軟體的可重用性和可擴展性。
多態:
多態是指程序中定義的引用變數所指向的具體類型和通過該引用變數發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變數倒底會指向哪個類的實例對象,該引用變數發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變數綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。多態性增強了軟體的靈活性和擴展性。例如,下面代碼中的UserDao是一個介面,它定義引用變數userDao指向的實例對象由daofactory.getDao()在執行的時候返回,有時候指向的是UserJdbcDao這個實現,有時候指向的是UserHibernateDao這個實現,這樣,不用修改源代碼,就可以改變userDao指向的具體類實現,從而導致userDao.insertUser()方法調用的具體代碼也隨之改變,即有時候調用的是UserJdbcDao的insertUser方法,有時候調用的是UserHibernateDao的insertUser方法:
UserDao userDao = daofactory.getDao();
userDao.insertUser(user);
如果滿意請給分哦!非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!
Java中的「面向對象」是什麼意思?
面對對象就是:\x0d\x0a把數據及對數據的操作方法放在一起,作為一個相互依存的整體——對象。對同類對象抽象出其共性,形成類。類中的大多數數據,只能用本類的方法進行處理。類通過一個簡單的外部介面與外界發生關係,對象與對象之間通過消息進行通信。程序流程由用戶在使用中決定。\x0d\x0a對象即為人對各種具體物體抽象後的一個概念,人們每天都要接觸各種各樣的對象,如手機就是一個對象。\x0d\x0a在面向對象的編程方式中,對象擁有多種特性,如手機有高度、寬度、厚度、顏色、重量等特性,這些特性被稱為對象的屬性。對象還有很多功能,如手機可以聽音樂、打電話、發信息、看電影等工作功能,這些功能被稱為對象的方法,實際上這些方法是一種函數。而對象又不是孤立的,是有父子關係的,如手機屬於電子產品,電子產品屬於物體等,這種父子關係稱為對象的繼承性。在編程中,把所有的問題看做對象,以人的思維方式解決。這種方式非常人性化,對象實際上就是一組數據的集合,並且數據都已經命名。這些數據根據就是對象的屬性,可以被程序訪問。對象還包括很多函數,這些函數被稱為對象的方法,也可以被程序訪問。不過在外部訪問對象內的屬性或方法,必須先引用對象,然後用點號訪問對象的屬性和方法\x0d\x0a\x0d\x0a面向過程就是:\x0d\x0a自頂向下順序執行,逐步求精;其程序結構是按功能劃分為若干個基本模塊,這些模塊形成一個樹狀結構;各模塊之間的關係儘可能簡單,在功能上相對獨立;每一模塊內部均是由順序、選擇和循環三種基本結構組成;其模塊化實現的具體方法是使用子程序。程序流程在寫程序時就已決定。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/182423.html