Java物件導向 多型的好處

2021-09-19 07:18:03 字數 1600 閱讀 7713

例如一段**:

class computer 

}class pc extends computer

}class nb extends computer

}class test

}

此時就會有小夥伴有疑問,

對於上面的程式,我這樣寫不也挺好嗎:

pc pc = new pc();

nb nb = new nb();

pc.turnon();

nb.turnon();

為什麼非要費那事重新寫個go方法再呼叫它呢

雖然不知道會不會有新電腦,那萬一新寫了乙個類a又繼承了computer,也實現了turnon方法,如果我想呼叫a中的turnon方法,不還得new乙個a麼,既然有了a物件的引用不還是可以直接a.turnon()麼

對此疑問有前輩已經用**去進行了回答。在實際操作中,多型可以讓我們不用關心某個物件到底是什麼具體型別,就可以使用該物件的某些方法,而這些方法通過乙個抽象類或者介面來實現,多型就是提供父類呼叫子類**的乙個手段而已。下面給乙個例子

abstract class person 

abstract void say();

}class student extends person

public void say()

}class teacher extends person

public void say()

}class school

public void foundperson()

}public class testpolymoph

}

school方法傳遞了抽象類person,具體呼叫時是根據具體的實際例項化的物件呼叫對應的方法

強調一下:多型可以讓我們不用關心某個物件到底是什麼具體型別,就可以使用該物件的某些方法,這就是多型的好處。

希望你能明白。呵呵。

對於以上的**我覺得在testpolymoph做一些改變會顯得更加清晰

public class testpolymoph 

}

用匿名內部類來體現多型將更加清晰,使用者根本無需知道你所用的物件具體是什麼型別的,你只需要用抽象父類以及其公共介面去引用該物件,能完成其功能就夠了。例如collection集合中的 迭代器就是乙個很好的例子。例如:list list = new arraylist();

其直接返回乙個iterator介面的直接實現,使用者根本不知道 也無需知道返回的到底是什麼型別的物件,因為collection下不同的集合返回的迭代器實現類 並不相同。此時也就需要用到了介面多型。 

java 物件導向(多型的好處及案列演示)

package day09 多型的好處 1.提高了 的維護性 繼承保證 2.提高了 的擴充套件性 由多型保證 案列演示 多型的好處 可以當做形式引數,可以接收任意子類物件 多型的弊端 不能使用子類的特有屬性和行為 class demo4 animal public static void metho...

Java物件導向 多型

歡迎光臨新長城部落格中心 物件導向 多型 多型的概述 某一類事物的多種存在的多種形態。1 多型的體現 父類的引用指向了自己的子類物件。父類的引用也可以接收自己的子類物件。2 多型的前提 必須是類與類之間有關係。要麼繼承,要麼實現。通常還有乙個前提 存在覆蓋。3 多型的好處 多型的出現大大的提高程式的...

java 物件導向多型

1 多型性 1 方法的過載和重寫 2 物件的多型性 2 物件的多型性 1 向上轉型 程式會自動完成 父類 父類物件 子類例項 2 向下轉型 強制型別轉換 子類 子類物件 子類 父類例項 3 案例 package csdn.zyl.demo class a12 public void tell2 cl...