Java to który obsługuje koncepcje takie jak polimorfizm, dziedziczenie, abstrakcja itp. Te koncepcje OOP obracają się wokół zajęcia , obiekty i funkcje składowe. Funkcja wirtualna jest jedną z takich koncepcji, która pomaga w polimorfizmie w czasie wykonywania. Na tym blogu dowiemy się o wirtualnych funkcjach w . W tym artykule omówiono następujące tematy.
- Co to jest funkcja wirtualna w Javie?
- Przykład funkcji wirtualnej
- Funkcja wirtualna z interfejsem
- Czysta funkcja wirtualna
- Polimorfizm w czasie wykonywania
- Punkty do zapamiętania
Co to jest funkcja wirtualna w Javie?
Zachowanie funkcji wirtualnej może być zastąpiony z dziedziczącą funkcją klasy o tej samej nazwie. Jest zasadniczo zdefiniowany w klasie bazowej i nadpisywany w klasie dziedziczonej.
Oczekuje się, że funkcja wirtualna w Javie zostanie zdefiniowana w . Możemy wywołać funkcję wirtualną, odwołując się do obiektu klasy pochodnej za pomocą odwołania lub wskaźnika klasy bazowej.
Każda metoda niestatyczna w Javie jest domyślnie metodą wirtualną. Java nie ma wirtualnego słowa kluczowego, takiego jak C ++ , ale możemy je zdefiniować i wykorzystać do takich pojęć, jak polimorfizm w czasie wykonywania.
Przykład funkcji wirtualnej
Spójrzmy na przykład, aby zrozumieć, jak możemy używać funkcji wirtualnych w Javie.
class Pojazd {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 ()}}
Wynik: Pojazd transportowy do dużych obciążeń
Każda metoda niestatyczna w Javie jest funkcją wirtualną, z wyjątkiem finał i metody prywatne . Metody, których nie można zastosować do polimorfizmu, nie są uważane za funkcję wirtualną.
jak uruchomić php w systemie Windows 10
DO nie jest uważana za funkcję wirtualną, ponieważ metoda statyczna jest powiązana z samą klasą. Dlatego nie możemy wywołać metody statycznej z nazwy obiektu lub klasy dla . Nawet jeśli pominiemy metodę statyczną, nie współgra ona z koncepcją polimorfizmu.
Funkcja wirtualna z interfejsami
Wszystkie interfejsy Java są wirtualne i polegają na klasach implementujących w celu zapewnienia implementacji metod. Kod do wykonania jest wybierany w czasie wykonywania. Oto prosty przykład dla lepszego zrozumienia.
interfejs Samochód {void applyBrakes ()} interfejs Audi implementuje Samochód {void applyBrakes () {System.out.println ('breaks Applied')}}
W tym przypadku applyBreaks () jest wirtualny, ponieważ funkcje w interfejsach są zaprojektowane tak, aby były nadpisywane.
co to jest fasola java
Czysta funkcja wirtualna
Czysta funkcja wirtualna to funkcja wirtualna, dla której nie mamy implementacji. Metodę abstrakcyjną w Javie można uznać za czystą funkcję wirtualną. Weźmy przykład, aby lepiej to zrozumieć.
abstract class Dog {final void bark () {System.out.println ('woof')} abstract void jump () // to jest czysta funkcja wirtualna} class MyDog extends Dog {void jump () {System.out.println ('Skoki w powietrzu')}} public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
Wynik: Podskakuje w powietrzu
Oto jak funkcja wirtualna może być używana z klasą abstrakcyjną.
Polimorfizm w czasie wykonywania
Polimorfizm w czasie wykonywania ma miejsce, gdy wywołanie metody zastępowanej jest rozpoznawane w czasie wykonywania zamiast czas kompilacji . Zastąpiona metoda jest wywoływana za pośrednictwem zmiennej referencyjnej klasy bazowej.
class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Rozszerzony kurs Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (String args []) {Edureka ob1 = new Course () ob1.show ()}}
Wynik: Kurs certyfikacji Java
Punkty do zapamiętania
W przypadku funkcji wirtualnej w Javie nie jest wymagana jawna deklaracja. To jest dowolne które mamy w klasie bazowej i przedefiniowaliśmy w klasie pochodnej o tej samej nazwie.
Wskaźnik klasy bazowej może służyć do odwoływania się do obiektu klasy pochodnej.
Podczas wykonywania programu wskaźnik klasy bazowej jest używany do wywoływania funkcji klasy pochodnej.
dynamiczna alokacja pamięci w C ++
To prowadzi nas do końca tego artykułu, w którym dowiedzieliśmy się o funkcji wirtualnej w Javie. Mam nadzieję, że wszystko, co zostało Ci udostępnione w tym samouczku, jest dla Ciebie jasne.
Jeśli uważasz, że ten artykuł „Funkcja wirtualna w Javie” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.
Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży i opracować program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych lubić Hibernować & .
Jeśli napotkasz jakieś pytania, nie wahaj się zadawać wszystkich pytań w sekcji komentarzy w „Wirtualnej funkcji w Javie”, a nasz zespół z przyjemnością odpowie.