JavaRush /Java Blog /Random-ID /Rehat kopi #118. Apa perbedaan antara bahasa C++ dan Java...

Rehat kopi #118. Apa perbedaan antara bahasa C++ dan Java. Konstruktor swasta di Jawa

Dipublikasikan di grup Random-ID

Apa perbedaan antara C++ dan Java

Sumber: Hackernoon Bahasa pemrograman C++ dan Java termasuk yang paling populer saat ini. Mari kita bahas perbedaan utama antara C++ dan Java. Rehat kopi #118.  Apa perbedaan antara bahasa C++ dan Java.  Konstruktor Swasta di Java - 1Java adalah bahasa pemrograman tujuan umum. Itu milik bahasa berorientasi objek. Pencipta Java ingin menerapkan prinsip WORA - “Tulis Sekali, Jalankan Di Mana Saja”. Artinya, ketika Anda mengembangkan aplikasi yang ditulis dalam Java, aplikasi tersebut dapat berjalan di platform apa pun asalkan Java Runtime Environment (JRE) terinstal di dalamnya. Program dijalankan dengan mengkompilasi kode yang ditulis dalam Java menjadi bytecode. Format ini dijalankan menggunakan JVM, yaitu Java Virtual Machine. Oleh karena itu, JVM adalah bagian dari Java Runtime Environment (JRE). Mesin virtual tidak bergantung pada platform. Java juga memiliki mekanisme manajemen memori yang disebut Garbage Collector (GC). Pengembang membuat objek, dan JRE menggunakan pengumpul sampah untuk membersihkan memori ketika objek berhenti. Sintaks bahasa Java mirip dengan bahasa mirip C lainnya. Berikut beberapa fiturnya:
  • Sensitivitas Huruf Besar - Pengguna dan ID pengguna di Java adalah entitas yang berbeda.

  • Nama metode . Jika nama metode terdiri dari satu kata, maka harus diawali dengan huruf kecil. Contoh: namaMetode pertama() .

  • UpperCamelCase digunakan untuk memberi nama kelas. Jika nama terdiri dari satu kata, maka harus diawali dengan huruf kapital. Contoh: Nama Kelas Satu .

  • Nama file program harus sama persis dengan nama kelasnya, dengan mempertimbangkan sensitivitas huruf besar-kecil. Misalnya, jika kelasnya bernama FirstClassName , file tersebut harus diberi nama FirstClassName.java .

  • Pengidentifikasi selalu dimulai dengan huruf (AZ, az), $, atau garis bawah _.

Apa bahasa C++?

C++ adalah bahasa pemrograman tujuan umum yang dikompilasi, diketik dengan kuat. Ini mendukung paradigma pemrograman yang berbeda: prosedural, generik, fungsional; Sebagian besar perhatian diberikan untuk mendukung pemrograman berorientasi objek. Pada dasarnya, C++ adalah sekumpulan perintah yang memberitahu komputer apa yang harus dilakukan. Kumpulan instruksi ini biasanya disebut kode sumber atau sederhananya kode. Perintah dapat berupa “fungsi” atau “kata kunci”. Kata kunci (kata-kata khusus C/C++) adalah elemen dasar bahasa ini. Fungsi adalah blok penyusun yang kompleks karena ditulis dalam bentuk fungsi yang lebih sederhana. Struktur fungsi C++ dan Java menyerupai isi buku. Daftar isi dapat menampilkan bab-bab suatu buku, setiap bab dalam suatu buku dapat mempunyai daftar isi tersendiri yang terdiri dari paragraf-paragraf; Setiap paragraf dapat memiliki subparagrafnya sendiri. Meskipun C++ menyediakan banyak fungsi umum dan kata-kata khusus yang dapat Anda gunakan, bahasa ini tetap mengharuskan Anda untuk menulis fungsi Anda sendiri.

Perbedaan utama antara C++ dan Java

Baik Java maupun C++ adalah bahasa pemrograman berorientasi objek, namun di situlah kesamaan keduanya berakhir. Ada lebih banyak perbedaan di antara keduanya. Tentu saja, ada perbedaan penting antara C++ dan Java dalam memilih salah satu bahasa untuk mengembangkan proyek atau kasus spesifik lainnya. Berikut kriteria yang perlu diperhatikan.

Perpustakaan

Jawa atau C++? Perpustakaan mana yang lebih besar atau lebih baik? Java memiliki lebih banyak perpustakaan. Tapi bagaimana Anda tahu mana yang harus digunakan dan mana yang tidak? Berikut penjelasan singkat beberapa di antaranya:
  • lang, util, nio, io, bersih.
  • Java juga memiliki perpustakaan untuk bekerja dengan kerangka GUI: javax.swing (ekstensi yang agak ketinggalan jaman dari java.awt yang lebih tua).
  • Anda bahkan dapat memutar musik dan membuat file MIDI menggunakan java.sound dll.
Bahasa C++ memiliki C Standard Library dan C++ Standard Library. Pengembang harus terlebih dahulu memastikan bahwa mereka memahami perbedaan antara C dan C++. Selain itu, mereka harus mempelajari perpustakaan yang akan mereka gunakan dalam proyek tertentu. Java memiliki dukungan bawaan untuk komentar dokumentasi. C++ tidak mendukung komentar dokumentasi. Anda juga dapat menggunakan kompiler Java online yang nyaman.

Mekanisme masukan

Java pada dasarnya diinterpretasikan, sehingga tidak bergantung pada platform. C++ menghasilkan kode objek; kode yang sama tidak dapat berjalan pada platform yang berbeda.

Dukungan benang

Java memiliki dukungan bawaan untuk thread. Java memiliki kelas thread yang diwarisi untuk membuat thread baru dan mengganti metode start. Harap dicatat bahwa C++ tidak memiliki dukungan threading asli. Untuk tujuan ini, perpustakaan pihak ketiga yang tidak terstandarisasi digunakan.

Metode pendukung

Java memiliki kelebihan metode, tetapi tidak memiliki kelebihan operator. Kelas String tidak menggunakan operator + dan += untuk menggabungkan string, dan Ekspresi String menggunakan tipe konversi otomatis, tetapi ini adalah kasus bawaan khusus. C++ mendukung kelebihan metode dan kelebihan operator.

Manajemen memori

Java mendukung kontrol dealokasi heap otomatis, tetapi tidak mendukung destruktor. Di C++, dukungan untuk destruktor secara otomatis diaktifkan ketika suatu objek dimusnahkan.

Warisan berganda

Java tidak menyediakan warisan berganda, setidaknya tidak dengan cara yang sama seperti C++. Warisan berganda adalah fitur C++ di mana suatu kelas dapat mewarisi lebih dari satu kelas.

Kesimpulan

Itulah perbedaan keseluruhan antara Java dan C++. Bahasa Java sangat ideal untuk proyek komersial. Ini sangat diminati di perusahaan besar, karena pemeliharaan dan pemfaktoran ulang proyek yang ada akan selalu relevan - setidaknya di bank dan lembaga keuangan lainnya. Anda dapat menangani pengembangan lintas platform dengan cukup baik dan menggunakannya untuk membuat sistem untuk platform apa pun. Namun, C++ memiliki keunggulan lain dibandingkan Java, seperti dukungan untuk kelebihan metode dan kelebihan operator, dukungan untuk destruktor, dll.

Konstruktor swasta di Jawa

Sumber: Dev.to Konstruktor di Java adalah tipe metode khusus yang memiliki nama yang sama dengan nama kelas atau nama file. Saat kita memanggil suatu objek, konstruktor internal selalu dipanggil. Ini terutama digunakan untuk menginisialisasi keadaan suatu objek atau nilai variabel dalam suatu kelas. Rehat kopi #118.  Apa perbedaan antara bahasa C++ dan Java.  Konstruktor Swasta di Java - 2Sekarang mari kita lihat apa itu konstruktor swasta. Java memungkinkan kita mengubah metode tergantung pada penggunaan kita. Jadi, bisakah kita menjadikan konstruktornya pribadi seperti metode lainnya? Dan jika demikian, lalu apa gunanya konstruktor swasta? Jawaban: Ya, kita dapat mendeklarasikan konstruktor di Java sebagai konstruktor privat menggunakan penentu akses privat. Namun perlu diingat jika kita mendeklarasikan konstruktor tersebut sebagai private, maka kita tidak akan bisa membuat objek dari kelas tersebut. Sebagai gantinya, kita dapat menggunakan konstruktor pribadi ini dalam pola desain Singleton. Aturan untuk konstruktor swasta:
  • Itu tidak mengizinkan kelas menjadi subkelas.
  • Tidak mengizinkan Anda membuat objek di luar kelas.
  • Jika suatu kelas memiliki konstruktor pribadi, maka ketika kita mencoba memperluas kelas tersebut, terjadi kesalahan waktu kompilasi.
  • Kami tidak dapat mengakses konstruktor pribadi dari kelas lain mana pun.
  • Jika kelas kita memiliki semua metode konstan, kita dapat menggunakan konstruktor privat.
  • Jika semua metode bersifat statis, kita dapat menggunakan konstruktor pribadi.
  • Kita dapat menggunakan fungsi publik untuk memanggil konstruktor privat jika objek tidak diinisialisasi.
  • Kita hanya dapat mengembalikan sebuah instance dari objek ini jika objek tersebut sudah diinisialisasi.
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 kasus penggunaan konstruktor swasta. Tujuan utama menggunakan konstruktor pribadi adalah untuk membatasi pembuatan objek. Konstruktor swasta juga digunakan untuk mengimplementasikan pola desain Singleton. Opsi untuk menggunakan konstruktor pribadi adalah sebagai berikut:
  • Ini dapat digunakan dengan kelas statis khusus anggota.
  • Ini dapat digunakan dengan utilitas statis atau kelas konstan.
  • Itu juga dapat digunakan untuk membuat kelas tunggal.
  • Dapat digunakan untuk penamaan, seperti pembuatan menggunakan metode pabrik.
  • Ini juga digunakan untuk menghindari subkelas.
  • Ini termasuk metode pabrik.
Saya harap Anda mempelajari lebih lanjut tentang konstruktor Java melalui posting ini.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION