Rumah Java javaTutorial Cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java

Cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java

Oct 19, 2023 am 11:55 AM
antara muka fungsi Polimorfisme

Cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java

Cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java

Pengenalan:
Di Java, fungsi antara muka (Antara Muka Fungsian) ialah ciri baharu Java 8, yang membolehkan kami mentakrifkan abstraksi dalam antara muka kaedah dan satu atau lebih kaedah lalai. Fungsi antara muka hanya boleh mempunyai satu kaedah abstrak dalam antara muka, dan kaedah ini dipanggil kaedah fungsi fungsi antara muka. Fungsi antara muka boleh melaksanakan pengaturcaraan polimorfik antara muka, menjadikan kod lebih ringkas, fleksibel dan boleh diselenggara. Artikel ini akan memperkenalkan cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java, dan memberikan contoh kod khusus.

Melaksanakan fungsi antara muka:

Melaksanakan fungsi antara muka dalam Java perlu memenuhi syarat berikut:

  1. Hanya satu kaedah abstrak boleh wujud dalam antara muka
  2. Kaedah ini tidak boleh mempunyai sebarang pelaksanaan
  3. boleh mempunyai berbilang kaedah lalai;

Berikut ialah contoh mudah untuk menggambarkan cara melaksanakan fungsi antara muka:

// 定义一个接口函数
interface Greeting {
    void sayHello(); // 接口函数的抽象方法
}

public class Main {

    public static void main(String[] args) {
        // 使用Lambda表达式实现接口函数
        Greeting greeting = () -> System.out.println("Hello, World!");
        greeting.sayHello();
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami mula-mula mentakrifkan fungsi antara muka Salam, yang hanya mempunyai satu kaedah abstrak sayHello (). Kemudian dalam kaedah main kelas Utama, kami menggunakan ungkapan Lambda untuk melaksanakan fungsi antara muka ini. Ungkapan Lambda () -> System.out.println("Hello, World!") mewakili badan fungsi tanpa parameter Terdapat hanya satu pernyataan dalam badan fungsi, iaitu untuk mengeluarkan "Hello , Dunia!" ". Akhir sekali, fungsi antara muka ini dilaksanakan dengan memanggil kaedah sayHello(). Greeting,它只有一个抽象方法sayHello()。然后在Main类的main方法中,我们使用Lambda表达式来实现这个接口函数。Lambda表达式() -> System.out.println("Hello, World!")表示一个没有参数的函数体,函数体里面只有一条语句,即输出"Hello, World!"。最后通过调用sayHello()方法来执行这个接口函数。

实现接口和多态编程:

接口函数的另一个重要特性就是可以实现接口和多态编程。下面以一个简单的示例来说明如何实现接口和多态编程:

interface Vehicle {
    void drive();
}

class Car implements Vehicle {
    public void drive() {
        System.out.println("Drive a car");
    }
}

class Truck implements Vehicle {
    public void drive() {
        System.out.println("Drive a truck");
    }
}

public class Main {

    public static void main(String[] args) {
        // 使用接口函数实现多态编程
        Vehicle vehicle1 = new Car();
        Vehicle vehicle2 = new Truck();

        vehicle1.drive();
        vehicle2.drive();
    }
}
Salin selepas log masuk

在上面的示例中,我们定义了一个Vehicle接口,它只有一个抽象方法drive()。然后我们分别实现了CarTruck两个类,并且它们都实现了Vehicle接口。在main方法中,我们通过接口函数Vehicle来实现多态编程。首先通过new Car()创建了一个Car对象,然后将它赋值给Vehicle类型的变量vehicle1。接着通过new Truck()创建了一个Truck对象,然后将它赋值给Vehicle类型的变量vehicle2。最后通过调用drive()

Melaksanakan antara muka dan pengaturcaraan polimorfik:


Satu lagi ciri penting fungsi antara muka ialah ia boleh melaksanakan antara muka dan pengaturcaraan polimorfik. Berikut ialah contoh mudah untuk menggambarkan cara melaksanakan antara muka dan pengaturcaraan polimorfik:

rrreee🎜Dalam contoh di atas, kami menentukan antara muka Kenderaan, yang hanya mempunyai satu kaedah abstrak drive() . Kemudian kami melaksanakan kelas <code>Kereta dan Trak masing-masing, dan kedua-duanya melaksanakan antara muka Kenderaan. Dalam kaedah utama, kami melaksanakan pengaturcaraan polimorfik melalui fungsi antara muka Kenderaan. Mula-mula, objek Car dicipta melalui new Car(), dan kemudian ia diberikan kepada pembolehubah vehicle1 jenis Vehicle . Kemudian buat objek <code>Lori melalui new Truck(), dan kemudian berikannya kepada pembolehubah vehicle2 jenis Vehicle . Akhir sekali, tingkah laku pemanduan kenderaan yang berbeza dilakukan dengan memanggil kaedah drive(). 🎜🎜Ringkasan: 🎜Fungsi antara muka ialah ciri penting untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java Ia boleh menjadikan kod kami lebih ringkas, fleksibel dan boleh diselenggara. Dengan menggunakan ungkapan Lambda untuk melaksanakan fungsi antara muka, kita boleh menentukan badan fungsi secara langsung dalam antara muka, mengelakkan masalah mencipta kelas pelaksanaan. Dengan melaksanakan pengaturcaraan polimorfik melalui fungsi antara muka, kita boleh menghantar objek pelaksanaan yang berbeza mengikut keperluan untuk mencapai kelakuan yang sama bagi objek yang berbeza. Ini menjadikan kod lebih berskala dan boleh diselenggara. Kami berharap pengenalan dan contoh dalam artikel ini dapat membantu pembaca memahami dan menggunakan fungsi antara muka dengan lebih baik. 🎜

Atas ialah kandungan terperinci Cara menggunakan fungsi antara muka untuk melaksanakan antara muka dan pengaturcaraan polimorfik dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1261
29
Tutorial C#
1234
24
Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Apr 25, 2024 pm 02:39 PM

Bahasa Go menyediakan dua teknologi penciptaan fungsi dinamik: penutupan dan refleksi. penutupan membenarkan akses kepada pembolehubah dalam skop penutupan, dan refleksi boleh mencipta fungsi baharu menggunakan fungsi FuncOf. Teknologi ini berguna dalam menyesuaikan penghala HTTP, melaksanakan sistem yang sangat boleh disesuaikan dan membina komponen boleh pasang.

Jadual fungsi maya C++ dan pelaksanaan polimorfik, bagaimana untuk mengelakkan pembaziran memori Jadual fungsi maya C++ dan pelaksanaan polimorfik, bagaimana untuk mengelakkan pembaziran memori May 31, 2024 pm 07:03 PM

Kelas asas maya mengoptimumkan overhed memori vtable dengan membenarkan warisan daripada berbilang kelas asas tanpa membuat vtable tambahan. Dalam kod yang dioptimumkan, kelas asas bentuk tidak lagi mempunyai jadual fungsi maya, dan kelas bulatan dan segi empat tepat berkongsi jadual fungsi maya yang sama, sekali gus mengurangkan penggunaan memori.

Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Apr 24, 2024 pm 04:21 PM

Dalam penamaan fungsi C++, adalah penting untuk mempertimbangkan susunan parameter untuk meningkatkan kebolehbacaan, mengurangkan ralat dan memudahkan pemfaktoran semula. Konvensyen susunan parameter biasa termasuk: tindakan-objek, objek-tindakan, makna semantik dan pematuhan perpustakaan standard. Susunan optimum bergantung pada tujuan fungsi, jenis parameter, kemungkinan kekeliruan dan konvensyen bahasa.

Koleksi lengkap formula fungsi excel Koleksi lengkap formula fungsi excel May 07, 2024 pm 12:04 PM

1. Fungsi SUM digunakan untuk menjumlahkan nombor dalam lajur atau sekumpulan sel, contohnya: =SUM(A1:J10). 2. Fungsi AVERAGE digunakan untuk mengira purata nombor dalam lajur atau sekumpulan sel, contohnya: =AVERAGE(A1:A10). 3. Fungsi COUNT, digunakan untuk mengira bilangan nombor atau teks dalam lajur atau sekumpulan sel, contohnya: =COUNT(A1:A10) 4. Fungsi IF, digunakan untuk membuat pertimbangan logik berdasarkan syarat yang ditentukan dan mengembalikan hasil yang sepadan.

Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Apr 24, 2024 am 11:33 AM

Kunci untuk menulis fungsi Java yang cekap dan boleh diselenggara ialah: pastikan ia mudah. Gunakan penamaan yang bermakna. Mengendalikan situasi khas. Gunakan keterlihatan yang sesuai.

Pengecualian Fungsi C++ Lanjutan: Pengendalian Ralat Tersuai Pengecualian Fungsi C++ Lanjutan: Pengendalian Ralat Tersuai May 01, 2024 pm 06:39 PM

Pengendalian pengecualian dalam C++ boleh dipertingkatkan melalui kelas pengecualian tersuai yang menyediakan mesej ralat khusus, maklumat kontekstual dan melaksanakan tindakan tersuai berdasarkan jenis ralat. Tentukan kelas pengecualian yang diwarisi daripada std::exception untuk memberikan maklumat ralat tertentu. Gunakan kata kunci lontaran untuk membuang pengecualian tersuai. Gunakan dynamic_cast dalam blok try-catch untuk menukar pengecualian yang ditangkap kepada jenis pengecualian tersuai. Dalam kes sebenar, fungsi open_file membuang pengecualian FileNotFoundException Menangkap dan mengendalikan pengecualian boleh memberikan mesej ralat yang lebih spesifik.

Aplikasi antara muka dan kelas abstrak dalam corak reka bentuk di Jawa Aplikasi antara muka dan kelas abstrak dalam corak reka bentuk di Jawa May 01, 2024 pm 06:33 PM

Antara muka dan kelas abstrak digunakan dalam corak reka bentuk untuk penyahgandingan dan kebolehlanjutan. Antara muka mentakrifkan tandatangan kaedah, kelas abstrak menyediakan pelaksanaan separa, dan subkelas mesti melaksanakan kaedah yang tidak dilaksanakan. Dalam corak strategi, antara muka digunakan untuk menentukan algoritma, dan kelas abstrak atau kelas konkrit menyediakan pelaksanaan, membenarkan penukaran dinamik algoritma. Dalam corak pemerhati, antara muka digunakan untuk menentukan tingkah laku pemerhati, dan kelas abstrak atau konkrit digunakan untuk melanggan dan menerbitkan pemberitahuan. Dalam corak penyesuai, antara muka digunakan untuk menyesuaikan kelas yang sedia ada atau kelas konkrit boleh melaksanakan antara muka yang serasi, membenarkan interaksi dengan kod asal.

Perkara yang perlu diambil perhatian apabila fungsi Golang menerima parameter peta Perkara yang perlu diambil perhatian apabila fungsi Golang menerima parameter peta Jun 04, 2024 am 10:31 AM

Apabila menghantar peta ke fungsi dalam Go, salinan akan dibuat secara lalai dan pengubahsuaian pada salinan tidak akan menjejaskan peta asal. Jika anda perlu mengubah suai peta asal, anda boleh menghantarnya melalui penuding. Peta kosong perlu dikendalikan dengan berhati-hati, kerana ia secara teknikal adalah penunjuk sifar, dan menghantar peta kosong kepada fungsi yang menjangkakan peta tidak kosong akan menyebabkan ralat.

See all articles