Forskel mellem C++ og Java

Nรธgleforskel mellem C++ og Java

  • C++ bruger kun compiler, hvorimod Java bruger bรฅde compiler og tolk.
  • C++ understรธtter bรฅde operatรธroverbelastning og metodeoverbelastning Java understรธtter kun metodeoverbelastning.
  • C++ understรธtter manuel objektstyring ved hjรฆlp af nye og slette nรธgleord Java har indbygget automatisk renovation.
  • C++ understรธtter strukturer, hvorimod Java understรธtter ikke strukturer.
  • C++ stรธtter fagforeninger mens Java stรธtter ikke fagforeninger.

  • C++ Vs Java
    C++ Vs Java

Hvad er det C++ Sprog?

C++ er et computerprogrammeringssprog, der indeholder funktionen af โ€‹โ€‹programmeringssprog C samt Simula67 (fรธrste objektorienteret sprog). C++ introducerede begrebet Klasse og Objekter.

Det indkapsler sprogfunktioner pรฅ hรธjt og lavt niveau. Sรฅ det ses som et sprog pรฅ mellemniveau. Tidligere blev det kaldt "C med klasser", da det havde alle C-sprogets egenskaber.

Hvad er det Java Sprog?

Java er programmeringssprog udviklet af Sun Microsystems. Et lille softwareudviklingsteam udviklede dette sprog. De var kendt som Det Grรธnne Hold, som indledte Java sprog i 1991.

Historie C++

C++ sproget er udviklet af Bjarne Stroustrup ved AT & T Bell Laboratories. Stroustrup var en stรฆrk tilhรฆnger af C og en beundrer af Simula67. Han ville kombinere det bedste fra begge sprog. Han havde til formรฅl at skabe et sprog, der understรธtter objektorienterede programmeringsfunktioner og stadig bevarer kraften fra C. Dette resulterede i C++.

Historie Java

Java sprog blev oprindeligt kaldt OAK. Oprindeligt blev den udviklet til hรฅndtering af enheder og set-top-bokse. Eg var en massiv fiasko. I 1995 รฆndrede Sun sรฅledes navnet til Java og รฆndrede sproget for at drage fordel af den spirende World Wide Web-udviklingsvirksomhed.

Later, i 2009, Oracle Corporation kรธbte Sun Microsystems og overtog ejerskabet af to vigtige Sun-softwareaktiver: Java og Solaris.

Forskel mellem C++ og Java

Parameter C++ Java
Relationship Intet strengt forhold mellem klassenavne og filnavne. I C++, header-filer og implementeringsfiler bruges til specifik klasse. Det strenge forhold hรฅndhรฆves, f.eks. Skal kildekoden til klasse PayRoll vรฆre i PayRoll.java.
Input mekanisme I/O-sรฆtninger bruges in og cout, f.eks. i ยป x; coutยซ y; I/O-inputmekanisme er ret kompleks, da den lรฆser รฉn byte ad gangen (System.in). Output er nemt, f.eks. System.out.println(x);
Kompilator og tolk C++ understรธtter kun compiler Java understรธtter bรฅde compiler og tolk
Kompatibilitet med andre sprog Kompatibel med C-kildekode, undtagen nogle ekstraordinรฆre tilfรฆlde. Ingen bagudkompatibilitet med noget tidligere sprog. Syntaksen er pรฅvirket af C/C++.
Adgangskontrol og genstandsbeskyttelse Fleksibel model med konstant beskyttelse tilgรฆngelig Den besvรฆrlige model tilskynder til svag indkapsling.
Concept Skriv en gang kompilรฉr hvor som helst Skriv en gang kรธre hvor som helst overalt
Understรธttelse af programmeringstype Tillader bรฅde procedureprogrammering og objektorienteret programmering. Understรธtter objektorienteret programmeringsmodel.
grรฆnseflade Tillader direkte opkald til oprindelige systembiblioteker. Ring kun gennem Java Native Interface og for nylig Java Native Access
Hukommelsesstyring Tilgรฆngelig for programmรธr Systemstyret
Rothierarki C++ der er ikke noget sรฅdant rodhierarki. C++ understรธtter bรฅde proceduremรฆssig og objektorienteret programmering; derfor kaldes det et hybridsprog. Java er et rent objektorienteret programmeringssprog. Det er. Hvorfor det fรธlger enkeltrodshierarki.
Bedste funktioner C++ understรธtter objektorienterede funktioner Procedurelle programmeringsfunktioner. Java understรธtter automatisk affaldsindsamling. Det understรธtter ikke destruktorer som C++ gรธr.
Gรฅ til erklรฆring C++ har en goto-erklรฆring. Selvom det ikke er ideelt at bruge en goto-erklรฆring. Java har ingen goto-erklรฆring. Nรธgleordene got, og const er reserveret, selvom de ikke bruges.
Flere arv C++ give multiple arv. Nรธgleordet virtuel bruges til at lรธse problemer under multipleinheritation, hvis der er nogen. Java giver ikke multipel arv.
Scope resolution operator C++ har scope resolution operator (: :) som bruges til at definere en metode uden for en klasse og til at fรฅ adgang til en global variabel indenfor fra det omrรฅde, hvor der ogsรฅ findes en lokal variabel med samme navn. Ingen operatรธr for scope resolution (: :) in Java. Metodedefinitionerne skal forekomme inden for en klasse, sรฅ der er ikke behov for scope-resolution.
Stรธttende metode C++ understรธtter bรฅde metodeoverbelastning og operatรธroverbelastning Java understรธtter kun metodeoverbelastning. Det giver ikke stรธtte til operatรธroverbelastning.
Overfรธrsel Kilden skal kompileres igen til platformen; derfor er koden ikke bรฆrbar. Bytekodeklasser kan overfรธres til platformsspecifikke JVM'er.
Skriv semantik Konsistent mellem primitive og objekttyper. Forskel for primitive og objekttyper.
Biblioteker Overvejende lavt niveau funktionalitet Massive, klasser til tjenester pรฅ hรธjt niveau.
Registrering af kรธrselsfejl Programmรธransvar. Systemansvar.
Funktioner og data Funktioner og data kan eksistere eksternt for enhver klasse, global rรฆkkevidde og navneomrรฅde er tilgรฆngelige. Alle funktioner og data findes inden for klasser; pakkeomfang er tilgรฆngelige.
perron C++ programmer er platformafhรฆngige. De skal kompileres til en bestemt platform. Java programmer er platformsuafhรฆngige. Java programmer er skrevet til Java Virtuel maskine (JVM). Det vil kรธre uden behov for genkompilering.
Registrering af kรธrselsfejl In C++, Det er programmรธrens ansvar at kontrollere fejlene. Det er systemets ansvar at kontrollere fejl i programmet.
Pointer C++ stรธtte pointer. Java tilbyder kun begrรฆnset support til pointere.
Struktur Det understรธtter strukturer. Det understรธtter ikke strukturer.
Fagforeninger C++ stรธtter fagforeninger. Java stรธtter ikke fagforeninger.
Objektstyring C++ understรธtter manuel objektstyring ved hjรฆlp af nye og slette nรธgleord. Java er tungt afhรฆngig af automatisk affaldsindsamling. Det understรธtter ikke destruktorer.

Opsummer dette indlรฆg med: