JavaRush /Blog Java /Random-MS /Coffee break #118. Apakah perbezaan antara bahasa C++ dan...

Coffee break #118. Apakah perbezaan antara bahasa C++ dan Java. Pembina persendirian di Jawa

Diterbitkan dalam kumpulan

Apakah perbezaan antara C++ dan Java

Sumber: Hackernoon Bahasa pengaturcaraan C++ dan Java adalah antara yang paling popular hari ini. Mari kita bincangkan perbezaan utama antara C++ dan Java. Coffee break #118.  Apakah perbezaan antara bahasa C++ dan Java.  Pembina Persendirian di Jawa - 1Java ialah bahasa pengaturcaraan tujuan umum. Ia tergolong dalam bahasa berorientasikan objek. Pencipta Java ingin melaksanakan prinsip WORA - "Tulis Sekali, Jalankan Di Mana-mana". Ini bermakna apabila anda membangunkan aplikasi yang ditulis dalam Java, ia boleh dijalankan pada mana-mana platform asalkan ia mempunyai Java Runtime Environment (JRE) yang dipasang padanya. Program ini berjalan dengan menyusun kod yang ditulis dalam Java ke dalam bytecode. Format ini dilaksanakan menggunakan JVM, iaitu Mesin Maya Java. Sehubungan itu, JVM adalah sebahagian daripada Java Runtime Environment (JRE). Mesin maya adalah platform bebas. Java juga mempunyai mekanisme pengurusan memori yang dipanggil Garbage Collector (GC). Pembangun mencipta objek, dan JRE menggunakan pengumpul sampah untuk membersihkan memori apabila objek berhenti. Sintaks bahasa Java adalah serupa dengan bahasa seperti C yang lain. Berikut adalah beberapa cirinya:
  • Kepekaan Kes - ID pengguna dan pengguna dalam Java adalah entiti yang berbeza.

  • Nama kaedah . Jika nama kaedah terdiri daripada satu perkataan, ia mesti bermula dengan huruf kecil. Contoh: firstMethodName() .

  • UpperCamelCase digunakan untuk menamakan kelas. Jika nama terdiri daripada satu perkataan, ia mesti dimulakan dengan huruf besar. Contoh: FirstClassName .

  • Nama fail program mesti betul-betul sepadan dengan nama kelas, dengan mengambil kira sensitiviti kes. Sebagai contoh, jika kelas dipanggil FirstClassName , fail hendaklah dipanggil FirstClassName.java .

  • Pengecam sentiasa bermula dengan huruf (AZ, az), $, atau garis bawah _.

Apakah bahasa C++?

C++ ialah bahasa pengaturcaraan tujuan umum yang disusun, ditaip kuat. Ia menyokong paradigma pengaturcaraan yang berbeza: prosedur, generik, berfungsi; Kebanyakan perhatian diberikan kepada menyokong pengaturcaraan berorientasikan objek. Pada asasnya, C++ ialah satu set arahan yang memberitahu komputer apa yang perlu dilakukan. Set arahan ini biasanya dipanggil kod sumber atau hanya kod. Perintah sama ada "fungsi" atau "kata kunci". Kata kunci (kata-kata simpanan C/C++) ialah blok binaan asas bahasa. Fungsi adalah blok binaan yang kompleks kerana ia ditulis dari segi fungsi yang lebih mudah. Struktur fungsi C++ dan Java menyerupai kandungan buku. Jadual kandungan boleh memaparkan bab buku, setiap bab dalam buku boleh mempunyai jadual kandungannya sendiri, yang terdiri daripada perenggan; Setiap perenggan boleh mempunyai subperenggan sendiri. Walaupun C++ menyediakan banyak fungsi biasa dan perkataan terpelihara yang boleh anda gunakan, bahasa itu masih memerlukan anda menulis fungsi anda sendiri.

Perbezaan utama antara C++ dan Java

Kedua-dua Java dan C++ adalah bahasa pengaturcaraan berorientasikan objek, tetapi di situlah persamaannya berakhir. Terdapat lebih banyak perbezaan antara mereka. Sudah tentu, terdapat perbezaan kritikal antara C++ dan Java apabila ia datang untuk memilih salah satu bahasa untuk membangunkan projek atau mana-mana kes khusus lain. Berikut adalah kriteria yang perlu diberi perhatian.

Perpustakaan

Java atau C++? Perpustakaan manakah yang lebih besar atau lebih baik? Java mempunyai lebih banyak perpustakaan. Tetapi bagaimana anda tahu mana yang hendak digunakan dan yang mana tidak? Berikut adalah penerangan ringkas tentang sebahagian daripada mereka:
  • lang, util, nio, io, net.
  • Java juga mempunyai perpustakaan untuk bekerja dengan rangka kerja GUI: javax.swing (sambungan yang agak ketinggalan zaman daripada java.awt yang lebih lama).
  • Anda juga boleh memainkan muzik dan mencipta fail MIDI menggunakan java.sound dll.
Bahasa C++ mempunyai Pustaka Standard C dan Pustaka Standard C++. Pembangun harus terlebih dahulu memastikan mereka memahami perbezaan antara C dan C++. Di samping itu, mereka mesti mengkaji perpustakaan yang mereka akan gunakan dalam projek tertentu. Java mempunyai sokongan terbina dalam untuk ulasan dokumentasi. C++ tidak menyokong ulasan dokumentasi. Anda juga boleh menggunakan pengkompil Java dalam talian yang mudah.

Mekanisme input

Java terutamanya ditafsirkan, jadi ia bebas daripada platform. C++ menjana kod objek; kod yang sama tidak boleh dijalankan pada platform yang berbeza.

Sokongan benang

Java mempunyai sokongan terbina dalam untuk benang. Java mempunyai kelas benang yang diwarisi untuk mencipta utas baharu dan mengatasi kaedah mula. Sila ambil perhatian bahawa C++ tidak mempunyai sokongan threading asli. Untuk tujuan ini, perpustakaan pihak ketiga yang tidak standard digunakan.

Kaedah sokongan

Java mempunyai kaedah lebihan beban, tetapi tidak mempunyai lebihan beban pengendali. Stringclass tidak menggunakan operator + dan += untuk menggabungkan rentetan, dan Stringexpressions menggunakan jenis penukaran automatik, tetapi ini adalah kes terbina dalam khas. C++ menyokong kedua-dua lebihan kaedah dan lebih muatan pengendali.

Pengurusan ingatan

Java menyokong kawalan deallokasi timbunan automatik, tetapi tidak menyokong pemusnah. Dalam C++, sokongan untuk pemusnah didayakan secara automatik apabila objek dimusnahkan.

Pusaka berbilang

Java tidak menyediakan berbilang warisan, sekurang-kurangnya tidak dengan cara yang sama seperti C++. Warisan berbilang ialah ciri C++ di mana kelas boleh mewarisi daripada lebih daripada satu kelas.

Kesimpulan

Itulah keseluruhan perbezaan antara Java dan C++. Bahasa Java sesuai untuk projek komersial. Ia mendapat permintaan yang tinggi dalam syarikat besar, kerana menyelenggara dan memfaktorkan semula projek sedia ada akan sentiasa kekal relevan - sekurang-kurangnya di bank dan institusi kewangan lain. Anda boleh mengendalikan pembangunan merentas platform dengan baik dan menggunakannya untuk mencipta sistem untuk mana-mana platform. C++ mempunyai kelebihan lain berbanding Java, walau bagaimanapun, seperti sokongan untuk kedua-dua kaedah lebih muatan dan operator lebih muatan, sokongan untuk pemusnah, dsb.

Pembina persendirian di Jawa

Sumber: Dev.to Pembina dalam Java ialah jenis kaedah khas yang mempunyai nama yang sama dengan nama kelas atau nama fail. Apabila kita memanggil objek, pembina dalaman sentiasa dipanggil. Ia digunakan terutamanya untuk memulakan keadaan objek atau nilai pembolehubah dalam kelas. Coffee break #118.  Apakah perbezaan antara bahasa C++ dan Java.  Pembina Persendirian di Jawa - 2Sekarang mari kita lihat apa itu pembina persendirian. Java membenarkan kami menukar kaedah bergantung pada penggunaan kami. Jadi, bolehkah kita menjadikan pembina peribadi seperti kaedah lain? Dan jika ya, maka apakah kegunaan pembina persendirian? Jawapan: Ya, kita boleh mengisytiharkan pembina di Jawa sebagai pembina peribadi menggunakan penentu akses peribadi. Tetapi ingat bahawa jika kita mengisytiharkan pembina peribadi, maka kita tidak akan dapat mencipta objek kelas. Sebaliknya, kita boleh menggunakan pembina peribadi ini dalam corak reka bentuk Singleton. Peraturan untuk pembina persendirian:
  • Ia tidak membenarkan kelas menjadi subkelas.
  • Tidak membenarkan anda membuat objek di luar kelas.
  • Jika kelas mempunyai pembina persendirian, maka apabila kita cuba melanjutkan kelas, ralat masa kompilasi berlaku.
  • Kami tidak boleh mengakses pembina peribadi dari mana-mana kelas lain.
  • Jika kelas kami mempunyai semua kaedah tetap, kami boleh menggunakan pembina persendirian.
  • Jika semua kaedah adalah statik, kita boleh menggunakan pembina peribadi.
  • Kita boleh menggunakan fungsi awam untuk memanggil pembina peribadi jika objek tidak dimulakan.
  • Kami hanya boleh mengembalikan contoh objek ini jika objek telah dimulakan.
public class PrivateConstructorDemo
{
     //creating an instance variable of the class Tester
     private static PrivateConstructorDemo pcd;
     //creating a private constructor
     private PrivateConstructorDemo()
     {
     }
    //creating a static method named getInstance()
    public static PrivateConstructorDemo getInstance()
    {
       if(pcd == null)
       {
        //creating a constructor of the class
        pcd = new PrivateConstructorDemo();
       }
     return pcd;
    }
    //main() method
    public static void main(String args[])
    {
     PrivateConstructorDemo pcd = PrivateConstructorDemo.getInstance();
    PrivateConstructorDemo pcd1 = PrivateConstructorDemo.getInstance();
    //invokes the getInstance() method and prints the corresponding result
    System.out.println(pcd.equals(pcd1));
   }
}
Kesimpulan:
benar
Sekarang mari kita lihat kes penggunaan untuk pembina persendirian. Tujuan utama menggunakan pembina persendirian adalah untuk menyekat penciptaan objek. Pembina persendirian juga digunakan untuk melaksanakan corak reka bentuk Singleton. Pilihan untuk menggunakan pembina persendirian adalah seperti berikut:
  • Ia boleh digunakan dengan kelas ahli sahaja statik.
  • Ia boleh digunakan dengan utiliti statik atau kelas malar.
  • Ia juga boleh digunakan untuk membuat kelas tunggal.
  • Ia boleh digunakan untuk penamaan, seperti penciptaan menggunakan kaedah kilang.
  • Ia juga digunakan untuk mengelakkan subkelas.
  • Ia termasuk kaedah kilang.
Saya harap anda mengetahui lebih lanjut tentang pembina Java melalui siaran ini.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION