A különbség köztük C++ és a Java

Kulcs különbség között C++ és a Java

  • C++ csak fordítót használ, míg Java fordítót és tolmácsot egyaránt használ.
  • C++ támogatja mind a kezelő túlterhelését, mind a módszer túlterhelését Java csak a módszer túlterhelését támogatja.
  • C++ támogatja a kézi objektumkezelést új és törlési kulcsszavak segítségével, míg Java beépített automata szemétszállítással rendelkezik.
  • C++ szerkezeteket támogatja, míg Java nem támogatja a szerkezeteket.
  • C++ közben támogatja a szakszervezeteket Java nem támogatja a szakszervezeteket.

  • C++ Vs Java
    C++ Vs Java

Mi a C++ nyelv?

C++ egy számítógépes programozási nyelv, amely tartalmazza a C programozási nyelv, valamint a Simula67 (első objektum-orientált nyelv) funkcióját. C++ bevezette az osztály és az objektumok fogalmát.

Magas és alacsony szintű nyelvi jellemzőket foglal magában. Tehát középszintű nyelvnek tekintik. Korábban „C osztályokkal”-nak hívták, mivel a C nyelv összes tulajdonságával rendelkezett.

Mi a Java nyelv?

Java a Sun Microsystems által kifejlesztett programozási nyelv. Egy kis szoftverfejlesztő csapat fejlesztette ki ezt a nyelvet. Zöld csapatként ismerték őket, akik kezdeményezték Java nyelv 1991-ben.

Története C++

C++ A nyelvet Bjarne Stroustrup fejlesztette ki az AT & T Bell Laboratories-nál. Stroustrup C erős támogatója és Simula67 tisztelője volt. A két nyelv legjobbjait akarta egyesíteni. Olyan nyelv létrehozására törekedett, amely támogatja az objektum-orientált programozási funkciókat, és továbbra is megtartja a C erejét. C++.

Története Java

A Java a nyelvet kezdetben OAK-nak hívták. Eredetileg eszközök és set-top boxok kezelésére fejlesztették ki. Oak hatalmas kudarcot vallott. Így a Sun 1995-ben megváltoztatta a nevet Java és módosította a nyelvet, hogy kihasználja a feltörekvő World Wide Web fejlesztési üzletág előnyeit.

Later, 2009-ban, Oracle A Corporation felvásárolta a Sun Microsystemst, és birtokba vette a Sun két kulcsfontosságú szoftvereszközét: Java és a Solaris.

A különbség köztük C++ és a Java

Vizsgált paraméter C++ Java
Kapcsolat Nincs szigorú kapcsolat az osztálynevek és a fájlnevek között. In C++, a fejlécfájlokat és a megvalósítási fájlokat egy adott osztályhoz használják. A szigorú kapcsolat érvényesül, például a PayRoll osztály forráskódjának a PayRoll.java-ban kell lennie.
Bemeneti mechanizmus Az I/O utasítások in és cout használatot, pl. in » x; cout« y; Az I/O bemeneti mechanizmus meglehetősen összetett, mivel egyszerre egy bájtot olvas (System.in). A kimenet egyszerű, pl. System.out.println(x);
Fordító és tolmács C++ csak támogatási fordító Java támogatja mind a fordítót, mind az értelmezőt
Kompatibilitás más nyelvekkel Kompatibilis a C forráskóddal, kivéve néhány kivételes esetet. Nincs visszafelé kompatibilitás egyetlen korábbi nyelvvel sem. A szintaxist a C/ befolyásoljaC++.
Beléptető és objektumvédelem Rugalmas modell állandó védelemmel A nehézkes modell gyenge tokozásra ösztönöz.
Koncepció Írjon egyszer, fordítsa le bárhol Írjon egyszer futni bárhol és mindenhol
Programozási típus támogatása Lehetővé teszi mind a procedurális, mind az objektumorientált programozást. Támogatja az objektum-orientált programozási modellt.
Felület Lehetővé teszi a natív rendszerkönyvtárak közvetlen hívását. Csak hívjon a Java Natív felület és a közelmúltban Java Natív hozzáférés
Memóriakezelés Programozó számára elérhető Rendszer vezérelt
Gyökérhierarchia C++ nincs ilyen gyökérhierarchia. C++ támogatja mind a procedurális, mind az objektumorientált programozást; ezért hibrid nyelvnek nevezik. Java egy tiszta objektum-orientált programozási nyelv. Ez az. Miért Egygyökér-hierarchiát követ.
Legjobb Jellemzők C++ támogatja az objektum-orientált funkciókat. Eljárási programozási funkciók. Java támogatja az automatikus szemétszállítást. Nem támogatja a destruktorokat, mint C++ igen.
Goto nyilatkozat C++ van egy goto nyilatkozata. Bár nem ideális a goto kifejezés használata. Java nincs goto nyilatkozata. A got és const kulcsszavak akkor is le vannak foglalva, ha nem használják őket.
Többszörös öröklés C++ többszörös öröklődést biztosít. A virtual kulcsszó a többszörös öröklés során felmerülő problémák megoldására szolgál, ha vannak ilyenek. Java nem biztosít többszörös öröklést.
Hatókör felbontás operátor C++ hatókör felbontási operátorral rendelkezik (: :) amely egy osztályon kívüli metódus definiálására és a hatókörön belüli globális változó elérésére szolgál, ahol létezik ugyanilyen nevű helyi változó is. Nincs hatókör felbontási operátor (: :) in Java. A metódusdefinícióknak egy osztályon belül kell előfordulniuk, így nincs szükség hatókör-feloldásra.
Támogató módszer C++ támogatja a módszer túlterhelését és a kezelő túlterhelését is Java csak a módszer túlterhelését támogatja. Nem nyújt támogatást a kezelő túlterheléséhez.
Hordozhatóság. A forrást újra kell fordítani a platformhoz; ezért a kód nem hordozható. A bájtkód osztályok átvihetők platform-specifikus JVM-ekre.
Típusszemantika Konzisztens a primitív és az objektumtípusok között. Különbözik a primitív és az objektumtípusok esetében.
könyvtárak Túlnyomóan alacsony szintű funkcionalitás Masszív, magas szintű szolgáltatások osztályai.
Futásidejű hibaészlelés Programozói felelősség. Rendszerfelelősség.
Funkciók és adatok A függvények és adatok bármely osztályon kívül létezhetnek, elérhetőek a globális és névtér hatókörei. Minden funkció és adat létezik az osztályokon belül; csomag terjedelme elérhető.
Emelvény C++ A programok platformfüggőek. Ezeket egy adott platformhoz kell összeállítani. Java A programok platformfüggetlenek. Java programokat írnak Java Virtuális gép (JVM). Újrafordítás nélkül fog futni.
Futásidejű hibaészlelés In C++, A hibák ellenőrzése a programozó felelőssége. A program hibáinak ellenőrzése a rendszer felelőssége.
Mutató C++ támogatási mutatók. Java csak korlátozott támogatást nyújt a mutatók számára.
Szerkezet Támogatja a szerkezeteket. Nem támogatja a szerkezeteket.
Szakszervezetek C++ támogatja a szakszervezeteket. Java nem támogatja a szakszervezeteket.
Objektumkezelés C++ támogatja a kézi objektumkezelést új és törlési kulcsszavak segítségével. Java súlyos, az automatikus szemétgyűjtéstől függ. Nem támogatja a pusztítókat.