C ++ və Java arasındakı fərqlər


JavaBaxılıb 35

Bu təlimdə C ++ və. Arasındakı fərqləri başa düşəcəyik Java misal ilə C ++ və Java-dakı oxşarlıqlar. Hər ikisi də obyekt yönümlü proqramlaşdırma dilləridir.

C ++ və Java arasındakı fərqlərPin

C ++ nədir?

C ++, C-dən götürülmüş bir proqramlaşdırma dilidir. Əvvəllər C ++ də “siniflərlə C” adını daşıyırdı. Bunun səbəbi, C ++ sinifləri və obyektləri tanıdan ilk dil və C-in bütün xüsusiyyətlərini mənimsəməsidir. SIMULA-67 (1-ci Obyekt yönümlü dil) dəstəyindən də istifadə edir. Tətbiq və sistem inkişafı üçün əsasən C ++ istifadə edirik. C ++ qurucusu Bjarne Stroustrupdur.

Java nədir?

Java, virtual bir maşın üzərində işləyən təmiz bir obyekt yönümlü proqramlaşdırma dilidir. Daha etibarlı və portativdir. Tərcüməçisi də var və əsasən tətbiqetmə inkişafı üçün istifadə edirik. Java-nın qurucusu James Gosling'dir. Java'nın ilk adı uğursuz olan OAK idi. Daha sonra Sun mikrosistemləri və indi Oracle Corporation tərəfindən əldə edildi.

C ++ ilə Java arasında oxşarlıqlar

C ++ və Java arasında fərqlər olsa da oxşarlıqlar da var.

İcra: Hər ikisi də icra prosesi baxımından oxşardır. Tərtibçi mənbə kodunu maşın koduna çevirir. Əlavə olaraq, Java-da tərtib edilmiş kodun icrası üçün JVM-dən istifadə edən bir tərcüməçi var.

Java icra prosesi

C ++ və Java arasındakı fərqlərPin

C ++ icra prosesi

C ++ və JavaPin

Xüsusiyyətləri: Hər iki dil OOPs konsepsiyasının bir çox xüsusiyyətlərini dəstəkləyir. Ancaq yenə də bir dilin dəstəklədiyi, digərinin dəstəkləmədiyi az xüsusiyyət var. Aşağıda hər iki dil arasında xüsusiyyət dəstəyinin müqayisəsi verilmişdir.

XüsusiyyətləriC + +Java
Abstraksiyabəlibəli
Kapsülləşdirməbəlibəli
Tək mirasbəlibəli
Çoxlu mirasbəliYox
Statik məcburibəlibəli
Dinamik bağlamabəlibəli
Polimorfizmbəlibəli
Operatorun həddən artıq yüklənməsibəliYox
Başlıq sənədləribəliYox
PointersbəliYox
Qlobal dəyişənlərbəliYox
Şablon sinfibəliYox
APIYoxbəli
Müdaxilə və paketlərYoxbəli

C ++ və Java arasındakı fərqlər

Aşağıda C ++ və Java arasındakı fərqlər verilmişdir.

Müqayisə metoduC + +Java
Platforma MüstəqilliyiPlatformadan asılıdır. Hər platformada tərtib edilməlidirPlatformadan asılı deyil. Bir platformada tərtib edilərək digərində icra edilə bilər
Tərtibçi və TərcüməçiTərtib olunmuş bir dildirTərtib edilmiş və şərh olunan bir dildir
TaşınabilirlikPortativ deyilBayt kod çıxışı istənilən sistemdə icra oluna biləcəyi üçün portativdir
Yaddaş idarəYaddaşın idarə olunması əl ilə həyata keçirilirYaddaş idarəetməsi sistem tərəfindən idarə olunur
Birdən çox mirasÇoxlu mirası dəstəkləyirÇoxlu mirası dəstəkləmir. Ancaq interfeys vasitəsilə əldə edilə bilər
Aşırı yükləməOperatorun həddindən artıq yüklənməsini dəstəkləyirOperatorun həddindən artıq yüklənməsini dəstəkləmir
Virtual açar sözFunksiyanı ləğv etmək üçün virtual açar sözdən istifadə edirVirtual açar sözdən istifadə etmir. Varsayılan olaraq bütün qeyri-statik metodlar ləğv olunur və ya virtualdır
PointersGöstəricilər konsepsiyasından istifadə edirGöstəricilər konsepsiyası yoxdur
Sənədləşmə şərhləriSənədləşdirmə şərhlərinə dəstək yoxdurSənədləşdirmə şərhləri üçün daxili dəstəyi var (/ ** ... * /
Mövzu dəstəyiC ++ dilində daxili işləmə mexanizmi yoxdur və üçüncü tərəf kitabxanalarından istifadə olunurJava, "Thread" sinifindən istifadə edərək daxili mövzu dəstəyinə malikdir
Qiymətə görə zəng edin və istinadla zəng edinHəm Dəyərə görə, həm də İstinadla Çağırışa dəstək verirDəyəri yalnız zəng dəstəkləyir
Quruluş və birlikHəm quruluşu həm də birliyi dəstəkləyirStrukturları və birliyi dəstəkləmir
İmzasız sağ shift >>> operatoruİmzalanmamış sağ keçid operatorunu dəstəkləmirİmzalanmamış sağ keçid operatorunu dəstəkləyir
Kök iyerarxiyasıKök iyerarxiyası yoxdurJava.lang.Object olan bir kök hiyerarşisinə malikdir
Giriş mexanizmiG / Ç əməliyyatları üçün Cin və Cout istifadə edirG / Ç əməliyyatları üçün System.in və System.out istifadə edir.
Açıqlama varGoto bəyanatını dəstəkləyirGoto ifadəsini dəstəkləmir
Məlumat və funksiyaların əhatə dairəsiMəlumat və funksiyalar sinif xaricində yerləşə bilərMəlumat və funksiyalar sinif daxilində olmalıdır
Obyekt idarə olunmasıObyektləri idarə etmək üçün yeni və sil istifadə edirObyektləri idarə etmək üçün avtomatik zibil toplama istifadə edir
ApplicationsSistem proqramı üçün istifadə olunurWindows əsaslı, veb əsaslı, təşəbbüskar və mobil tətbiqetmələr kimi tətbiqetmə proqramlarında istifadə olunur.
növüHəm prosedur, həm də obyekt yönümlü proqramlaşdırma diliYalnız obyekt yönümlü proqramlaşdırma dilidir
AnlayışBir dəfə hər yerdə tərtib edinBir dəfə hər yerə hər yerdə qaçın yazın
Əhatə dairəsi operatoru (: :)Kapsam həll operatorunu dəstəkləyirKapsam həll operatorunu dəstəkləmir
KitabxanalarAşağı səviyyəli funksionallığı dəstəkləyirYüksək səviyyəli funksionallığı dəstəkləyir
Məhv edənDağıdıcıları dəstəkləyirDağıdıcıları dəstəkləmir
Çalışma zamanı səhv işlənməsiProqramçı iş vaxtı səhvləri və istisnaları idarə etməkdən məsuldurJVM, iş vaxtı səhvlərindən və istisnalardan məsuldur

Sadə bir C ++ proqramının nümunəsi

Aşağıda “C ++ proqramlaşdırma dili” mətnini çap edən sadə bir C ++ proqramı verilmişdir.

#include <iostream>

using namespace std;

int main()
{
    cout<<"C++ programming language";

    return 0;
}
C++ programming language

Sadə bir Java proqramının nümunəsi

Aşağıda “Java proqramlaşdırma dili” mətnini çap edən sadə bir Java proqramı verilmişdir.

public class HelloJava {

  public static void main(String[] args) {
    System.out.println("Java programming language");

  }

}
Java programming language

 

arayış

Şərh yaz

Translate »
1