Namai Plėtra Kas yra sandari klasė? - apibrėžimas iš techopedijos

Kas yra sandari klasė? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia sandari klasė?

Užklijuota klasė, pažymėta C #, yra klasė, kurios negali paveldėti nė viena klasė, tačiau ją galima akimirksniu įgyvendinti.

Uždaros klasės tikslas yra parodyti, kad klasė yra specializuota ir nereikia jos pratęsti, kad paveldėjimo metu būtų suteikta kokių nors papildomų funkcijų, kad jos elgesys būtų viršesnis. Užklijuota klasė dažnai naudojama norint integruoti logiką, kurią reikia naudoti visoje programoje, tačiau jos nekeičiant.

Uždaryta klasė dažniausiai naudojama saugumo sumetimais, užkertant kelią netyčiniam išvedimui, dėl kurio išvestinė klasė gali sugadinti užantspauduotoje klasėje pateiktą įgyvendinimą. Kadangi uždaryta klasė negali sudaryti pagrindinės klasės, skambučiai į uždarąsias klases yra šiek tiek spartesni, nes jie įgalina tam tikras vykdymo laiko optimizacijas, pavyzdžiui, virtualių narių funkcijų iškvietimą uždarose klasėse į ne virtualius kvietimus. Uždaryta klasė padeda versijai, nesulaužant suderinamumo, keičiant klasę iš uždaromos rūšies į neuždarytą.

Kai kurios pagrindinės klasės .NET pagrindų bibliotekoje yra sukurtos kaip uždaromos klasės, daugiausia siekiant apriboti šių klasių tęstinumą.

„Techopedia“ paaiškina „Sealed Class“

Skirtingai nuo netiesiogiai uždaryto statinio, uždaryta klasė deklaruojama raktiniu žodžiu „užantspauduota“, kad būtų išvengta atsitiktinio klasės paveldėjimo. Uždaryta klasė gali būti naudinga tik tuo atveju, jei ji turi metodus su prieinamumu visuomenei. Uždaryta klasė negali būti abstrakti klasė, nes abstrakčią klasę ketina išvesti kita klasė, kuri teikia abstrakčių metodų ir savybių įgyvendinimą.

Pavyzdžiui, uždarą klasę „DatabaseHelper“ galima suprojektuoti tokiomis savybėmis ir metodais, kurie gali aptarnauti su duomenų baze susijusius veiksmus, įskaitant atviros ir uždaros duomenų bazės ryšį, duomenų gavimą ir atnaujinimą ir kt., Nes ji atlieka esmines funkcijas, kurios turėtų negali būti suklastotas dėl viršesnių išvestinių klasių, jis gali būti suprojektuotas kaip sandari klasė.

Sandarinimas riboja praplečiamumo pranašumus ir neleidžia pritaikyti bibliotekų tipų. Taigi klasė turi būti užplombuota atidžiai pasvėrus jos uždarymo poveikį. Kriterijų, į kuriuos reikia atsižvelgti norint užklijuoti klasę, sąrašą sudaro:
  • Klasė yra statiška
  • Kursą sudaro paveldėti nariai, atstovaujantys neskelbtinai informacijai
  • Klasei užduodama užklausa, kad būtų galima atgauti savo atributus refleksijos metodu
  • Klasė paveldi daugybę virtualių narių, kuriuos reikia užklijuoti
Šis apibrėžimas buvo parašytas atsižvelgiant į C #
Kas yra sandari klasė? - apibrėžimas iš techopedijos