JavaRush /Blog Jawa /Random-JV /Ngopi #118. Apa bedane basa C ++ lan basa Jawa. Konstrukt...

Ngopi #118. Apa bedane basa C ++ lan basa Jawa. Konstruktor pribadi ing Jawa

Diterbitake ing grup

Apa prabédan antarane C ++ lan Jawa

Sumber: Hackernoon Basa pemrograman C++ lan Java kalebu sing paling populer saiki. Ayo ngrembug prabédan utama antarane C ++ lan Jawa. Ngopi #118.  Apa bedane basa C ++ lan basa Jawa.  Konstruktor Pribadi ing Jawa - 1Java minangka basa pamrograman tujuan umum. Iki kalebu basa berorientasi obyek. Para pangripta Jawa kepengin ngleksanakake prinsip WORA - “Tulis Sekali, Lari Kemana-mana”. Iki tegese nalika sampeyan ngembangake aplikasi sing ditulis nganggo basa Jawa, bisa mlaku ing platform apa wae yen wis diinstal Java Runtime Environment (JRE). Program kasebut lumaku kanthi nyusun kode sing ditulis ing Jawa dadi bytecode. Format iki dieksekusi nggunakake JVM, yaiku, Java Virtual Machine. Mulane, JVM minangka bagéan saka Java Runtime Environment (JRE). Mesin virtual iku platform independen. Jawa uga nduweni mekanisme manajemen memori sing diarani Garbage Collector (GC). Pangembang nggawe obyek, lan JRE nggunakake kolektor sampah kanggo ngresiki memori nalika obyek mandheg. Sintaksis basa Jawa padha karo basa C liyane. Ing ngisor iki sawetara fitur:
  • Sensitivitas Kasus - ID pangguna lan pangguna ing Jawa minangka entitas sing beda.

  • Jeneng metode . Yen jeneng metode kasusun saka siji tembung, kudu diwiwiti kanthi huruf cilik. Tuladha: firstMethodName() .

  • UpperCamelCase digunakake kanggo jeneng kelas. Yen jeneng kasusun saka siji tembung, kudu diwiwiti kanthi huruf kapital. Tuladha: FirstClassName .

  • Jeneng file program kudu persis cocog karo jeneng kelas, njupuk menyang akun sensitivitas cilik. Contone, yen kelas diarani FirstClassName , file kasebut kudu diarani FirstClassName.java .

  • Pengenal mesthi diwiwiti kanthi huruf (AZ, az), $, utawa garis ngisor _.

Apa basa C++?

C++ minangka kompilasi, diketik banget, basa pamrograman umum. Ndhukung paradigma pemrograman sing beda: prosedural, umum, fungsional; Umume perhatian dibayar kanggo ndhukung pemrograman berorientasi obyek. Ateges, C ++ minangka sakumpulan prentah sing ngandhani komputer apa sing kudu ditindakake. Sakumpulan instruksi iki biasane diarani kode sumber utawa mung kode. Prentah minangka "fungsi" utawa "kata kunci". Keywords (C/C++ reserved words) minangka pamblokiran dhasar saka basa. Fungsi minangka blok bangunan kompleks amarga ditulis kanthi fungsi sing luwih prasaja. Struktur fungsi C++ lan Java meh padha karo isi buku kasebut. Daftar isi bisa nampilake bab buku, saben bab ing buku bisa duwe daftar isi dhewe, dumadi saka paragraf; Saben paragraf bisa duwe subparagraf dhewe-dhewe. Senajan C ++ menehi akeh fungsi umum lan tembung reserved sing bisa digunakake, basa isih mbutuhake sampeyan nulis fungsi dhewe.

Bentenipun tombol antarane C ++ lan Jawa

Loro-lorone Jawa lan C ++ minangka basa pemrograman berorientasi obyek, nanging ing kono persamaane rampung. Ana liyane beda antarane wong-wong mau. Mesthi, ana bedane kritis antarane C ++ lan Jawa nalika milih salah sawijining basa kanggo ngembangake proyek utawa kasus tartamtu liyane. Kene kritéria kanggo mbayar manungsa waé.

Pustaka

Jawa utawa C++? Perpustakaan endi sing luwih gedhe utawa luwih apik? Jawa wis akeh perpustakaan liyane. Nanging kepiye sampeyan ngerti sing kudu digunakake lan sing ora? Mangkene katrangan ringkes babagan sawetara:
  • lang, util, nio, io, net.
  • Jawa uga wis perpustakaan kanggo nggarap frameworks GUI: javax.swing (extension rodo outdated saka java.awt malah lawas).
  • Sampeyan malah bisa muter musik lan nggawe file MIDI nggunakake java.sound etc.
Basa C++ nduweni Pustaka Standar C lan Pustaka Standar C++. Pangembang kudu nggawe manawa dheweke ngerti bedane antarane C lan C ++. Kajaba iku, dheweke kudu sinau perpustakaan sing bakal digunakake ing proyek tartamtu. Jawa wis dibangun ing support kanggo komentar dokumentasi. C++ ora ndhukung komentar dokumentasi. Sampeyan uga bisa nggunakake compiler Jawa online trep.

Mekanisme input

Basa Jawa utamane diinterpretasikake, mula platform kasebut mandiri. C++ ngasilake kode obyek; kode padha ora bisa mbukak ing platform beda.

Dhukungan benang

Jawa wis dibangun ing support kanggo Utas. Jawa nduweni kelas utas sing diwarisake kanggo nggawe utas anyar lan ngilangi cara wiwitan. Elinga yen C++ ora duwe dhukungan threading asli. Kanggo tujuan kasebut, perpustakaan pihak katelu sing ora standar digunakake.

Metode pendukung

Jawa nduweni cara overloading, nanging ora duwe operator overloading. Stringclass ora nggunakake operator + lan += kanggo concatenate strings, lan Stringexpressions nggunakake jinis konversi otomatis, nanging iki khusus dibangun ing kasus. C ++ ndhukung kakehan cara lan kakehan operator.

Manajemen memori

Jawa ndhukung kontrol deallocation numpuk otomatis, nanging ora ndhukung destructors. Ing C ++, dhukungan kanggo destruktor diaktifake kanthi otomatis nalika obyek dirusak.

Multiple warisan

Jawa ora nyedhiyani sawetara warisan, paling ora ing cara sing padha C++. Multiple inheritance minangka fitur saka C ++ sing kelas bisa oleh warisan saka luwih saka siji kelas.

Kesimpulan

Sing kabeh prabédan antarane Jawa lan C ++. Basa Jawa becik kanggo proyek komersial. Panjaluk gedhe ing perusahaan gedhe, amarga njaga lan refactoring proyek sing wis ana bakal tetep relevan - paling ora ing bank lan lembaga keuangan liyane. Sampeyan bisa nangani pangembangan lintas-platform kanthi apik lan digunakake kanggo nggawe sistem kanggo platform apa wae. C ++ nduweni kaluwihan liyane saka Jawa, Nanging, kayata dhukungan kanggo overloading cara lan overloading operator, dhukungan kanggo destruktor, lsp.

Konstruktor pribadi ing Jawa

Sumber: Dev.to Konstruktor ing Jawa minangka jinis metode khusus sing duwe jeneng sing padha karo jeneng kelas utawa jeneng file. Nalika kita nelpon obyek, konstruktor internal tansah disebut. Utamane digunakake kanggo miwiti kahanan obyek utawa nilai variabel ing kelas. Ngopi #118.  Apa bedane basa C ++ lan basa Jawa.  Konstruktor Pribadi ing Jawa - 2Saiki ayo ndeleng apa konstruktor pribadi. Jawa ngidini kita ngganti cara gumantung saka panggunaan kita. Dadi, kita bisa nggawe konstruktor pribadi kaya metode liyane? Lan yen ya, banjur apa gunane konstruktor pribadi? Jawaban: Ya, kita bisa ngumumake konstruktor ing Jawa minangka konstruktor pribadi nggunakake specifier akses pribadi. Nanging elinga yen kita ngumumake konstruktor pribadi, mula kita ora bakal bisa nggawe obyek saka kelas kasebut. Nanging, kita bisa nggunakake konstruktor pribadi iki ing pola desain Singleton. Aturan kanggo konstruktor pribadi:
  • Ora ngidini kelas dadi subclass.
  • Ora ngidini sampeyan nggawe obyek ing njaba kelas.
  • Yen kelas duwe konstruktor pribadi, banjur nalika kita nyoba kanggo ngluwihi kelas, ana kesalahan kompilasi-wektu.
  • Kita ora bisa ngakses konstruktor pribadi saka kelas liyane.
  • Yen kelas kita duwe kabeh cara konstan, kita bisa nggunakake konstruktor pribadi.
  • Yen kabeh cara statis, kita bisa nggunakake konstruktor pribadi.
  • Kita bisa nggunakake fungsi umum kanggo nelpon konstruktor pribadi yen obyek ora initialized.
  • Kita mung bisa ngasilake conto obyek iki yen obyek kasebut wis diwiwiti.
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:
bener
Saiki ayo goleki kasus panggunaan kanggo konstruktor pribadi. Tujuan utama nggunakake konstruktor pribadi yaiku kanggo mbatesi nggawe obyek. Konstruktor pribadi uga digunakake kanggo ngleksanakake pola desain Singleton. Opsi kanggo nggunakake konstruktor pribadi kaya ing ngisor iki:
  • Bisa digunakake karo kelas statis mung anggota.
  • Bisa digunakake kanthi sarana statis utawa kelas konstan.
  • Uga bisa digunakake kanggo nggawe kelas singleton.
  • Bisa digunakake kanggo menehi jeneng, kayata nggawe nggunakake metode pabrik.
  • Iki uga digunakake kanggo nyegah subclassing.
  • Iku kalebu cara pabrik.
Muga-muga sampeyan sinau luwih akeh babagan konstruktor Jawa liwat kiriman iki.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION