Rumah >pembangunan bahagian belakang >C++ >Bagaimana Kita Boleh Mensimulasikan Konsep Rakan C di Jawa?

Bagaimana Kita Boleh Mensimulasikan Konsep Rakan C di Jawa?

Barbara Streisand
Barbara Streisandasal
2024-12-08 00:19:111011semak imbas

How Can We Simulate C  's Friend Concept in Java?

Mensimulasikan Konsep 'Rakan' C dalam Java Menggunakan Trik

Dalam C , konsep 'rakan' membenarkan kelas dalam pakej yang berbeza untuk mengakses ahli persendirian antara satu sama lain. Di Jawa, tidak ada persamaan langsung dengan konsep ini. Walau bagaimanapun, helah bijak boleh digunakan untuk mensimulasikan hubungan 'rakan'.

Pertimbangkan senario berikut: Kelas 'Romeo' dalam pakej 'montague' perlu mengakses kaedah bukan awam kelas 'Juliet' dalam pakej 'capulet' tanpa menjadikan 'Romeo' subkelas 'Juliet'.

The Penyelesaian:

  • 'Juliet' mengisytiharkan kaedah statik 'peluk' yang mengambil hujah jenis 'Romeo.Love'.
  • 'Romeo' mencipta kelas dalaman ' Cinta' dengan pembina peribadi dan contoh akhir statik yang dipanggil 'cinta'.
  • 'Romeo' menyediakan kaedah statik 'cuddleJuliet' yang memanggil 'Juliet.cuddle' dengan contoh 'cinta' sebagai hujah.

Cara Ia Berfungsi:

  • The ' Kelas Romeo.Love' adalah awam, tetapi pembinanya adalah peribadi. Ini memastikan hanya Romeo boleh mencipta contoh 'Cinta'.
  • Kaedah 'Juliet.cuddle' adalah umum, tetapi ia memerlukan contoh 'Romeo.Love' sebagai hujah.
  • Oleh memanggil 'Juliet.cuddle' dengan contoh 'cinta', 'Romeo' boleh mengakses kaedah bukan awam untuk 'Juliet'.

Pada asasnya, 'Romeo.Love' bertindak sebagai "tandatangan keselamatan" yang menghalang kelas lain daripada mengakses ahli bukan awam 'Juliet'. Silap mata ini mensimulasikan konsep 'rakan' dalam Java dengan membenarkan 'Romeo' mengakses ciri peribadi 'Juliet' tanpa menjadikannya subkelas antara satu sama lain.

Atas ialah kandungan terperinci Bagaimana Kita Boleh Mensimulasikan Konsep Rakan C di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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