首頁  >  文章  >  Java  >  Java 中的多態性

Java 中的多態性

WBOY
WBOY原創
2024-08-30 15:43:34519瀏覽

多態性被定義為一個概念,其中一個動作可以以多種方式執行。這個詞起源於兩個希臘詞,即“poly”和“morphs”。正如您可能知道的,在這裡,“poly”意味著多種,“morphs”意味著多種形式。因此,多態性一詞意味著多種形式。現在讓我們詳細了解java中的多態性。

多態性在 Java 中如何運作?

多態是 OOO 程式設計特徵。每當我們使用它時,類別就能夠展示許多功能,即使它們展示公共介面。因此,我們可以假設這個長單字實際上講述了一個非常簡單的概念。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

關於多態性值得注意的是,眾多類別中的整個工作程式碼並不真正需要以相同的使用方式理解它所使用的類別。

讓我們假設現實世界中多態性的例子。讓我們假設按鈕。大家都知道,只要我們稍微用力一點,你就能按下按鈕;但是,我們不會知道按下按鈕的輸出以及使用的目的。因此,這裡要注意的一點是,無論哪種方式,結果都不會影響正在使用的程序。

所以多態的基本目標是讓物件依需求可以互換。

Java 中的多型別

  • 多態性有兩種:編譯時多態性與執行時多態性。編譯時多態性透過方法重載實現,運行時多態性透過方法覆寫實現。
  • 運行時多態性,也稱為動態方法調度,是一個過程,其中對重寫方法的呼叫在運行時解析,儘管在編譯時。這裡,被重寫的方法是透過父類別的引用變數來呼叫的。另外,運行時多態性無法透過資料成員實現。

重要性

如果我們拋棄動態多態性和靜態多態性,那麼在程式設計中,Java 的一些程式特性表現出了不同於這兩種重要類型的多態性。

它們是-強制、運算子重載和多型參數。

1.強制

讓我們試著透過這個例子來了解強制轉換的意思。假設存在要作為 co 值的字串值: 假設第二個數字的值為 2。現在,當您將此字串值與此數字連接起來時會發生什麼?我們從這個串聯得到的結果將是「co value: 2」。這稱為強制。這是隱式類型的轉換,執行該轉換是為了防止錯誤。

2.運算子重載

當我們從運算子重載的概念開始時,讓我來看看一個場景。假設字串的值為“Operate”,且 2nd 的值為“Overload”。然後我們將使用加號(+)以同樣的方式進行 2 個數字的加法。這個 (+) 將會連結起來。如果我們考慮兩個整數,那麼將會傳回這兩個數字相加。每當一個符號或運算子能夠考慮所使用的過程來改變解釋時,所完成的多態性類型稱為運算子重載。

3.多型參數

這意味著允許透過以下任何方式存取任何對象,如下所示 –

  • 使用屬於任一父類的引用變數。
  • 使用屬於該類別所在類別的引用變數。

4.多態性範圍

綁定是指方法呼叫與方法體的連接。存在兩種綁定:

  • 1st 是靜態綁定,這表示只要在編譯時確定了物件的類型。
  • 2nd 是動態綁定,這表示只要在執行時確定了物件的類型。

需要多態性的唯一原因在於繼承的實作中非常需要多態性的概念。它還在允許物件在共享介面時繼承眾多結構方面發揮著至關重要的作用。多態性已被明確提及為唯一可以映射到許多的多態性。

Java 中多態性的範例

下面給出了 Java 中多態性的不同範例:

範例#1

展示方法重載的 Java 程式。

代碼:

class methodOverload {
static int multi(int x, int y)
{
return x * y;
}
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
{
return x * y;
}
}
class Main {
public static void main(String[] args)
{
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
}
}

輸出:

Java 中的多態性

Example #2

Java program to showcase Operator Overloading.

Code:

class operator {
void oper(String s, String s2)
{
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
}
void oper(int a, int b)
{
int c = a + b;
System.out.println("Sum is : " + c);
}
}
class Main {
public static void main(String[] args)
{
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
}
}

Output:

Java 中的多態性

Example #3

Java program for Method Overloading.

Code:

class Multi {
// Method with 2 parameter
static int Multi(int a, int b)
{
return a * b;
}
static int Multi(int a, int b, int c)
{
return a * b * c;
}
}
class Main {
public static void main(String[] args)
{
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
}
}

Output:

Java 中的多態性

Conclusion

The sole reason as to why Polymorphism is required lies as its concept is enormously needed in the implementation of inheritance. It also plays a vital role in allowing the objects to inherit numerous structures in sharing the interface. Polymorphism has been mentioned clearly as the only one that is mapped for many.

以上是Java 中的多態性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn