java繼承封裝多態
Ⅰ java的封裝性,多態性,繼承性的概念並舉例說明
封裝、繼承、多態
比較抽象,只是一種概念,剛開始學的時候無需太過於深究,如果要你一上來學JAVA就理解這些東西,有點牽強,你所要做的就是至少看到代碼知道這個用到的是什麼。
封裝的概念好比一輛汽車,你學開車的時候只需學會諸如踩油門、剎車,轉方向盤即可,無需去了解它的發動機是如何發動。
繼承,先說說我對類的理解,類起到的作用有:分類(你所用某個類創建的對象實際上該類的個案)和模板的作用,那麼繼承則起到了對類再次分類的作用,比如,有個類「動物」,「哺乳動物」繼承「動物」,再往下「馬」又繼承了「哺乳動物」這個類。在這里,我們從下往上講,首先,我們把某種東西劃分出來,叫做「馬」(當然還有「牛」,「魚」等等),接著,我們發現,「馬」,「羊」等還有很多共同的特點,於是,我們再次劃分出了「哺乳動物」這個類,再次分類,我們則有了「動物」。但在實際開發中,我們一般是從上往下定義的,即先有了「動物」,再有「哺乳動物」,最後有「馬」。
多態,正如上面朋友所說一重寫,二重載。用漢字來打個比方,比如「開」這個字,在不同的時候各有的意思,比如「開門」,「開窗」,甚至有「開車」,「開飯」等,具有相同名稱但操作不同。具體的實現我就不累述了。
說說介面吧,在JAVA不支持多繼承的,實際上介面起到了類似多繼承的作用,一個類只能繼承另一個類(或抽象類)但可以實現多個介面。打個比方,「張三」,他是一個「人」,因此他繼承了「人」;與此同時,他是一個「司機」,他的平時行為還有「開車」,很顯然,這並不能從「人」這個類里繼承下來。怎麼辦?JAVA里只支持單繼承,這個時候,介面就起到了作用,它定義了「司機」這個介面,「張三」實現了它,因此,他會開車了。
Ⅱ java面試提問:什麼是OOP
OOP是面向對象編程的英文全稱(Object Oriented Programming)的英文的首字母,它表示的是一種計算機編程架構。關於面試中OOP的提問可以從其核心思想封裝,繼承,多態三方面展開,具體如下:
1.OOP之封裝,封裝主要是保證組件不會以不可預期的方式改變其他組件的內部狀態,而只有在那些提供了內部狀態改變方法的組件中得情況下,才可以訪問其內部狀態。
2.抽象完一個事物後,可能在特定的條件下,其本身的狀態需要改變,但是這個改變並允許其他的事物來進行,這樣的改變只允許這個事物認同的操作域來進行,可以是該事物本身,也可以是它信任的其他事物。這樣我們就能對我們抽象完的每個事物進行自身數據的保護。
3.OOP之繼承,繼承指的是從已有類得到繼承信息創建新類的過程。讓抽象出來的事物具有本應該具有的聯系。允許在現存的組件基礎上創建子類組件,這統一和增強了另外兩個特性——多態性和封裝性。
4.一般來說就是用類來對組件進行分組,並且還可以定義新類為現存的類的擴展,這樣則可將類組織成樹形或網狀結構,這體現了動作的通用性。
5.OOP之多態,從定義上來說,多態指的是組件的引用和類集會涉及到其它許多不同類型的組件,而且引用組件所產生的結果得依據實際調用的類型。
6.在實際應用體現為用一種解決方案來解決對一類問題,對於不同的事物解決途徑和結果不同。在C++中實現多態性有三種方法,分別是:虛函數,函數重載和運算符重載。
(2)java繼承封裝多態擴展閱讀:
OOP相對於面向過程編程的優點:
(1)OOP關注對象和角色,也就是事物的本質。
(2)OOP把客觀世界中的對象抽象成對應的類; 2)通過類構造實例; 3)通過依賴、繼承、實現等形式建立對象間的通信關系。
(3)OOP易於擴展,增加或改變業務的功能,無需大幅改動改變源代碼。
(4)OOP易於建模,OOP就是軟體架構師在計算機高級語言中對客觀世界的抽象和再現,人們可以很好地理解和建立起計算機中的抽象模型。
參考資料來源:網路-OOP
Ⅲ 簡述什麼是封裝性、繼承性和多態性。(java中)
封裝就是把普通的對象進行封裝,對象的屬性設為私有的,對外提供get和set方法,其他類只能通過get和set對對象屬性值進行操作。繼承是發生在兩個類之間,一個類繼承另一個類是說這個類屬於另一個類,具有另一個類的所有屬性和方法,同時它還可以有另一個類不具備的方法和屬性。多態是建立在繼承的基礎上的,一個父類對象可以產生多個不同的子類對象,根據這些子類對象的不同可以具備不同的方法,也就是說表現出了不同的形態即多態
Ⅳ Java中面向對象的三大特徵是什麼
面向對象三大特性
繼承:一般類只能單繼承,內部類實現多繼承,介面可以多繼承
封裝:訪問許可權控制public > protected > 包 > private 內部類也是一種封裝
多態:編譯時多態,體現在向上轉型和向下轉型,通過引用類型判斷調用哪個方法(靜態分派)。
運行時多態,體現在同名函數通過不同參數實現多種方法(動態分派)。
希望對您有所幫助!~
Ⅳ java的三個基本特徵是什麼
Java有封裝、繼承、墮胎三大特徵,特點分別如下:
封裝:面向對象編程的核心就是將對象的屬性和方法封裝起來。。。
繼承:允許通過繼承原有類的某些特性或全部特性而產生全新的類,原有的累稱為父類,產生的新類稱為子類。子類不僅可以直接繼承父類的共性,而且也可以創建它特有的個性。
多態:是指在基類中定義的屬性和方法被子類繼承之後,可以具有不同的數據類型或表現出不同行為
Ⅵ java簡述什麼是封裝性、繼承性和多態性
封裝性是指的把代碼封裝到大括弧中,只能訪問自己內部的數據,外邊的東西訪問不了.
繼承性就是一個類聲明繼承另一個類,那麼另一個類就是它 的父類,父類里邊的變數跟方法子類可以直接拿來用,除非父類的訪問許可權不允許.
多態分為方法的重載和重寫,重載是指方法的名和返回類型相同,但是參數不同.重寫是指子類繼承父類的方法,但是在子類自己類體里邊又寫了一個方法, 跟父類中的方法名,返回類型,參數列表都完全一樣,但是方法體不同,也就是說它有自己的實現方式.這就是重寫.
Ⅶ Java語言的特點都有什麼呢
隨著計算機行業的不斷發展,很多人開始選擇從計算機方面進行發展。在軟體開發中,編程語言的使用是非常廣泛的,編程語言的種類是很多,如何選擇學習呢?在所有編程語言中,Java語言的使用更多廣泛,為什麼Java語言得到廣泛的使用呢?下面昆明電腦培訓為大家介紹Java語言的特點。
Java語言具有安全、可靠等優勢,並且屬於分布式、多線程和面向對象語言,但是特點的具體內容是什麼呢?
一、與平台的無關性
在Java語言中,最大的優點就是具有與平台無關性,這樣在使用的時候能夠進行跨平台使用。大多數編程語言都不是跨平台的。所謂的平台,我們可以理解為操作系統,在其他的操作系統下不可以運行其他文件。但是昆明IT培訓發現Java語言不一樣,Java程序不是直接運行在操作系統上面,而是在JVM中進行運行。
二、可靠性
Java語言是一種強類型語言,需要在使用變數之前對其進行定義。為變數分配數據類型後,如果未進行轉換,則始終為數據類型。這樣,Java可以在編譯時檢查語法是否正確。
三、面向對象
Java語言是支持封裝,繼承,多態和面向對象的編程語言,這使得程序只有很少的耦合,能夠更具凝聚力。雲南IT培訓發現每個模塊都執行自己的功能,不會通過公共介面相互干擾。
四、多線程
進程是操作系統中分配的最小內存資源單元。每個進程可以同時擁有兩個或多個線程,允許它們同時執行。並且雲南電腦培訓發現它提供了Rannable介面及其實現類Thread,提供了許多控制線程操作的方法,以及線程同步控制。
Ⅷ Java中封裝,繼承,多態各有什麼優勢
封裝的優勢在於定義只可以在類內部進行對屬性的操作,外部無法對這些屬性指手畫腳,要想修改,也只能通過你定義的封裝方法;繼承減少了代碼的冗餘,省略了很多重復代碼,開發者可以從父類底層定義所有子類必須有的屬性和方法,以達到耦合的目的;多態實現了方法的個性化,不同的子類根據具體狀況可以實現不同的方法,光有父類定義的方法不夠靈活,遇見特殊狀況就捉襟見肘了
Ⅸ java三大特徵
面向對象的分析與設計(OOA&D)方法是一種非常成熟的技術。也是當前商業公司經常使用的一種技術,因為JAVA語言本身就是一種面向對象的語言,所以掌握面向對象這種技術對於JAVA語言的應用具有重要意義。
繼承(inheritance)
繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得復用以前的代碼非常容易,能夠大大縮短開發周期,降低開發費用。比如可以先定義一個類叫車,車有以下屬性:車體大小,顏色,方向盤,論壇,而又由車這個類派生出教程和卡車兩個類,為轎車添加一個小後備箱,而為卡車添加一個大貨箱。
封裝(encapsulation)
類使得數據和對數據的操作集成在一起,從而對使用該類的其他人來說,可以不管它的實現方法,而只管用它的功能,從而實現所謂的信息隱藏。
多態(polymorphism)
多態又分為設計時多態和運行時多態,例如重載又被稱為設計時多態,而對於覆蓋或繼承的方法,JAVA運行時系統根據調用該方法的實例的類型來決定選擇調用哪個方法則被稱為運行時多態。總而言之,面向對象的設計的典型特點就是繼承,封裝和多態,這些特點也是面向對象之所以能如此盛行的關鍵所在。
單繼承與多繼承
JAVA不支持多重繼承,單繼承使JAVA的繼承關系很簡單,一個類只能有一個父類,易於管理程序,同時一個類可以實現多個介面,從而克服單繼承的缺點。
介面的定義和類的定義很相似,只是關鍵字不同,關鍵字為interface。生命格式如下:
interface 介面名
{
}
上面的大括弧中為介面體。介面體中包含成員變數定義和方法定義兩部分。
介面體中只進行方法的聲明,不允許提供方法的實現。所以在格式上只存在方法聲明,實際上沒有方法體,而方法體要在實現的類中再去具體定義。
還有一點需要說明的是:如果一個類使用了某個介面,就必須要實現這個介面的所有方法,即使實在沒有內容只是一個空的方法體也不許要寫。而且每個方法都默認是public的,所以實現時代碼一定要用public做修飾,參數個數,類型以及返回值的類型都必須與介面中的聲明相一致。
例如:
interface Runable
{
}
當某個類要實現這個介面時,就用 imlements 來聲明。
例如,我們相做一個多線程的例子,那麼就可有兩種實現方式,一種是通過定義一個Thread類的子類來實現,另一種是通過實現Runable介面來實現。代碼如下(這里的PrintHello類就是通過實現Runable介面來實現的,而不是擴展Thread稱為他的子類):
import java.lang.*;
class TestThread
{
public static void main(String args[])
{
try{
printHello ph = new PrintHello();
Thread Tph = new Thread(ph);
for(;;){
System.out.println("I'm main");
Thread.sleep(100);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
class PrintHello implements Runnable
{
public void run(){
try{
for(;;){
System.out.println("I'm hello");
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
Ⅹ Java三大特性,封裝繼承多態。面試官要我簡單的描述其特性,求大神幫我總結下,面試直接能用的那種。
封裝,繼承,多態,這是JAVA面向對象編程的三大特性了。 一。封裝:是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。封裝是類的特徵之一,應該可以理解,像一些私有的,別的類不可以訪問了啊,都有訪問許可權的,比較安全了。 二。繼承:指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴展。 繼承有三種方式,實現繼承、介面繼承和可視繼承。 三。多態:簡單的說就是,允許將子類類型的指針賦值給父類類型的指針。 實現多態,有二種方式,方法覆蓋,方法重載。 JAVA博大精深,不是一言兩語就可以說清的,我就不在這里多言了,簡單的說了一點點,希望親能採納