Co je to virtuální funkce v Javě?



Tento článek popisuje koncept virtuální funkce v Javě s jejími aplikacemi v polymorfismu a vyvoláním funkcí za běhu pomocí příkladů.

Java je který podporuje koncepty jako polymorfismus, dědičnost, abstrakce atd. Tyto koncepty OOP se točí kolem třídy , předměty a členské funkce. Virtuální funkce je jeden takový koncept, který pomáhá při běhovém polymorfismu. V tomto blogu se dozvíme o virtuální funkci v . V tomto článku jsou popsána následující témata.

Co je to virtuální funkce v Javě?

Chování virtuální funkce může být přepsán s funkcí dědění třídy se stejným názvem. Je v zásadě definován v základní třídě a přepsán v zděděné třídě.





Očekává se, že virtuální funkce v Javě bude definována v . Virtuální funkci můžeme zavolat odkazem na objekt odvozené třídy pomocí odkazu nebo ukazatele základní třídy.

jaké jsou funkce v sql

Každá nestatická metoda v Javě je standardně virtuální metoda. Java nemá virtuální klíčové slovo jako C ++ , ale můžeme je definovat a použít je pro koncepty, jako je běhový polymorfismus.



Příklad virtuální funkce

Podívejme se na příklad, abychom pochopili, jak můžeme používat virtuální funkce v Javě.

třída Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks extends Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
 Výstup: Přepravní vozidlo pro těžký provoz

Každá nestatická metoda v Javě je virtuální funkcí kromě finále a soukromé metody . Metody, které nelze použít pro polymorfismus, se nepovažují za virtuální funkci.

NA není považována za virtuální funkci, protože statická metoda je vázána na samotnou třídu. Nemůžeme tedy volat statickou metodu z názvu objektu nebo třídy pro . I když přepíšeme statickou metodu, nerezonuje s konceptem polymorfismu.



Virtuální funkce s rozhraními

Všechna rozhraní Java jsou virtuální, při implementaci metod se spoléhají na implementační třídy. Kód pro provedení je vybrán za běhu. Zde je jednoduchý příklad pro lepší pochopení.

interface Car {void applyBrakes ()} interface Audi implementuje Car {void applyBrakes () {System.out.println ('break Applied')}}

Zde applyBreaks () je virtuální, protože funkce v rozhraních jsou navrženy tak, aby byly přepsány.

Čistá virtuální funkce

Čistá virtuální funkce je virtuální funkce, pro kterou nemáme implementace. Abstraktní metodu v Javě lze považovat za čistě virtuální funkci. Pojďme si vzít příklad, abychom tomu lépe porozuměli.

abstract class Dog {final void bark () {System.out.println ('woof')} abstract void jump () // this is a pure virtual function} class MyDog extends Dog {void jump () {System.out.println ('Jumps in the air')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
 Výstup: Skoky do vzduchu

Takto lze virtuální funkci použít s abstraktní třídou.

Polymorfismus za běhu

Polymorfismus za běhu je, když je volání přepsané metody vyřešeno za běhu místo čas kompilace . Přepsaná metoda je volána prostřednictvím referenční proměnné základní třídy.

co je java fazole
třída Edureka {public void show () {System.out.println ('welcome to edureka')}} třída Kurz rozšiřuje Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
 Výstup: Kurz certifikace Java

Body k zapamatování

  • Pro virtuální funkci v Javě nepotřebujete výslovnou deklaraci. Je jakýkoli které máme v základní třídě a předefinujeme v odvozené třídě se stejným názvem.

  • Ukazatel základní třídy lze použít k odkazu na objekt odvozené třídy.

  • Během provádění programu se ukazatel základní třídy používá k volání funkcí odvozené třídy.

Tím se dostáváme na konec tohoto článku, kde jsme se dozvěděli o Virtual Function In Java. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud shledáte tento článek jako „Virtuální funkce v Javě“ relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování Java a naučil vás základní i pokročilé koncepty Java spolu s různými jako Přezimovat & .

java, kdy to použít

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů v části „Virtuální funkce v Javě“ a náš tým vám rád odpoví.