Siniflər və Strukturlar Arasındakı Fərq

Siniflər və Strukturlar Arasındakı Fərq
Siniflər və Strukturlar Arasındakı Fərq

Video: Siniflər və Strukturlar Arasındakı Fərq

Video: Siniflər və Strukturlar Arasındakı Fərq
Video: İnformasiya Təhlükəsizliyi və Kiber Təhlükəsizlik arasındakı fərq nədir? 2024, Iyul
Anonim

Siniflər vs Strukturlar

Obyekt yönümlü (OO) proqramlaşdırma dillərinin əsas anlayışlarından bəziləri inkapsulyasiya, irsiyyət və polimorfizmdir. Sinif və Struktur proqramçılara mövcud OO proqramlaşdırma dillərinin əksəriyyətində bu anlayışlara nail olmağa kömək edən OO konstruksiyalarından/alətlərindən ikisidir (Java strukturları təmin etmir). Siniflər real dünya obyektlərinin mücərrəd təsviridir. Strukturlar oxşar istifadəsi olan siniflərə çox bənzəyir, lakin siniflərlə müqayisədə bir neçə məhdudiyyətə malikdir. Həm siniflər, həm də struktur oxşar tipli datanı birlikdə qruplaşdırmaq üçün istifadə olunur.

Dərslər nədir?

Siniflər real dünya obyektlərinin mücərrəd təsvirini, əlaqələr isə hər bir sinfin digərləri ilə necə əlaqəli olduğunu təsvir edir. Həm siniflər, həm də münasibətlər atribut adlanan xüsusiyyətlərə malikdir. Siniflərdəki metodlar bu siniflərin davranışını təmsil edir və ya müəyyən edir. Siniflərin metod və atributlarına sinif üzvləri deyilir. Tipik olaraq, inkapsulyasiya atributları özəl etməklə, eyni zamanda həmin atributlara daxil olmaq üçün istifadə edilə bilən ictimai metodlar yaratmaqla əldə edilir. Obyekt bir sinfin nümunəsidir. Varislik istifadəçiyə sinifləri (alt siniflər adlanır) digər siniflərdən (super siniflər adlanır) genişləndirməyə imkan verir. Polimorfizm proqramçıya sinif obyektini super sinif obyekti ilə əvəz etməyə imkan verir. Tipik olaraq, problemin tərifində tapılan isimlər birbaşa proqramda siniflərə çevrilir. Eynilə, fellər üsullara çevrilir. İctimai, özəl və qorunan siniflər üçün istifadə edilən tipik giriş modifikatorlarıdır. Sinif diaqramı sistemlərin siniflərini, siniflər arasındakı əlaqələri və onların atributlarını göstərir.

Strukturlar nədir?

Yuxarıda qeyd edildiyi kimi, strukturlar oxşar istifadəyə malik siniflərə çox bənzəyir, lakin imkanları siniflərdən bir qədər məhduddur. Əslində, siniflər strukturların genişləndirilməsi kimi qəbul edilə bilər. Məsələn, strukturlar C++-da siniflərlə eynidir, lakin onların standart olaraq ictimai üzvləri var. Quruluş istifadəçi tərəfindən kompozit bir növü təmsil etmək üçün müəyyən edilə bilər. Siniflər kimi, strukturlar da bir çox növə aid ola bilən üzvlərdən ibarətdir. Struct açar sözü C və C++ dillərində strukturu müəyyən etmək üçün, Structure açar sözü isə. NET proqramlaşdırma dillərində eyni üçün istifadə olunur.

Siniflər və Strukturlar arasında fərq nədir?

Həm siniflər, həm də strukturlar proqramlaşdırma dillərində olan oxşar konstruksiyalar olsa da, onların incə fərqləri var. Tipik olaraq, sinif strukturun uzantısıdır və buna görə də strukturların bəzi nisbi məhdudiyyətləri var. Məsələn, strukturları C++-da siniflərlə eyni hesab etmək olar, lakin üzvlər siniflərdə standart olaraq ictimai deyil (strukturlardan fərqli olaraq). Bu əslində o deməkdir ki, siz C++ dilində uyğun giriş modifikatorlarından istifadə edərək eyni xüsusiyyətlərə malik sinif və strukturu təyin edə bilərsiniz. Bununla belə, C-də strukturlar heç bir funksiya və ya həddindən artıq yüklənmiş əməliyyatları ehtiva edə bilməz. C++ dilində müvafiq olaraq sinif və strukturu müəyyən etmək üçün class və struct açar sözlərindən istifadə edilir.. NET dillərinə (C, VB. NET və s.) gəldikdə, sinif istinad növü, struktur isə dəyər tipidir. Və adətən strukturlar daha kiçik obyektlər üçün istifadə olunur, lakin siniflər yaddaşda daha uzun müddət saxlanılan daha böyük obyektlər üçün istifadə olunur.

Tövsiyə: