KompyuterlarDasturlash

Kapsülleme - bu nima? dasturlash encapsulation

Kapsülleme - bu uch asosiy xususiyatlaridan biri hisoblanadi ob'ekt yo'naltirilgan dasturlash (OOP). boshqa ikki - polimorfizm va meros. Ular birgalikda bu uch tamoyillarini foydalanib, turli tillarda yozish dasturlari xususiyatlari bir qator belgilangan FKÖ asoslarini tashkil etadi. Ob'ekt yo'naltirilgan tillar, o'z navbatida, qat'iy ularni amal qilish shart.

OOP asoslari

Ob'ekt yo'naltirilgan dasturlash uning yaratilish uch ustunlarini:

  • Polimorfizm, muayyan bir dasturlash tili ham xuddi shunday tarzda, bir-biri bilan yaqin munosabatga ega ob'ektlar bilan shug'ullanuvchi qanday savol javob.
  • Meros, javob berib, qanday qayta- kodi foydalanish rag'batlantirish hisoblanadi.
  • bajarilishini yashirish savolga javob Kapsülleme, shunday ma'lumotlar butunligini bo'lib o'tadi, va.

terminologiya

Kapsülleme (dasturlash) - oxirgi foydalanuvchining kodi dona yashirish uchun kirish nitelemeler foydalanish hisoblanadi. uning ostida esa, o'z navbatida, ishlab yoki merosi saytlarni anglatadi.

"Encapsulation" tushunchasi mohiyati

ta'rifi encapsulation tomonidan barcha yoki dastur kodi qismini yashirish degan ma'noni bildiradi. "Encapsulation" tushunchasi mohiyati kirish nitelemeler manipulyatsiya qilish. yashiringan - Bu Tuzuvchi qaysi xususiyatlari, usullari qaror mumkin, va sinflar mijoz-sinf uchun ochiq bo'ladi, va qanday, degan ma'noni anglatadi.

kirish muharriridan

boshqa narsalar orasida, manipulyarivat encapsulation (Java dasturlash) qodir, kirish muharriridan, bor:

  • davlat ( "Davlat" - xalq, ochiq kirish) - ulushi joriy sinflar va ob'ektlar, ham, hamda tashqi dunyo uchun;
  • xususiy ( "prayvat" - xususiy, shaxsiy, maxfiy kirish) - mohiyati butunlay oldingi birining qarama-qarshi bo'lgan, kirish yopiq. Bu faqat joriy sinfdan imkonini beradi;
  • himoyalangan ( "protekted" - yarim-maxfiy foydalanish, himoyalangan) - joriy sinf va uning sanab chiqing foydalanish;
  • Standart - noma'lum kirish modifikatori maydon / usul to'plami barcha joriy sinflar uchun ko'rish mumkin, degan ma'noni anglatadi.

C # tilida ( "Si Sharp") esa, (oxirgi tashqari) Yuqoridagi tashqari, hali Modifiers bor:

  • ichki ( "ichki" - ichki foydalanish) - joriy Assambleyasi mavjudlik, boshqa barcha hollarda yopiq erkin foydalanish;
  • ichki himoyalangan ( «ichki protekted" - ichki Himoyalangan Kirish) - ikki ta'dil uyushmasi birida bo'lgan ikkisidan aniq xususiyatlari.

encapsulation roli

kapsülleme mexanizmi ko'milgan ma'lumotlar kodi va noto'g'ri tashqi ta'sir bartaraf etadi. Bu biriga kodi va ma'lumotlarni birlashtirib amalga oshiriladi.

Ob'ekt va kapsülleme

dasturiy moduli va kodiga ma'lumotlar bajarilishini birlashtirib, dasturlash, bir ob'ekt deb ataladi. encapsulation bilan munosabati mohiyati bunday usul saqlab qolish va mexanizmini butunligini ta'minlash imkonini beradi, deb hisoblanadi.

encapsulation afzalligi

Kapsülleme - kodlash jarayonini soddalashtirish uchun bir yo'ldir. kodi ko'p chiziqlari "sahna ortida", va asosiy sinf ishida misollar e'tiroz bo'ladi.

Ma'lumotlarni muhofaza qilish g'oyasi

Kapsülleme - u ham ma'lumotlar himoya qilish g'oyasini amalga oshiradi mexanizmi hisoblanadi. Dastur mantiq ob'ekt yo'naltirilgan dasturlash ma'lumotlar eng bo'ladi, nima asosida qurilgan, yashirin kirish modifikatori xususiy (shaxsiy, xususiy) yoki himoyalangan (himoyalangan). tashqi dunyo, mijozlar tasodifan yoki ataylab dasturiy moduli amalga oshirilishini zarar qilmaydi. Aslida u ham ataylab emas, balki juda oson qiladi, chunki, birlashtirish - bu juda yaxshi printsipi.

kapsülleme birligi

Class, ma'lumotlar bu ma'lumotlar ustida ishlash uchun ega bo'lgan kodni o'z ichiga encapsulation asosiy birligi sifatida va ta'riflaydi. U, shuningdek, ob'ekti qurish uchun asos hisoblanadi. ikkinchisi esa, o'z navbatida, bir misol sifatida taqdim etildi.

Shuningdek quyidagi termin ishlatiladi:

  • a'zolari - bu kodni sinf kiritilgan ma'lumotlar hisoblanadi;
  • maydonlarni yoki holat o'zgaruvchilar - sinfini belgilab deb atalmish ma'lumotlar;
  • a'zo vazifalari - ular kodni o'zi o'z ichiga oladi. A'zo vazifalari - bir umumiy nom. Alohida hodisa - usullari.

Kapsülleme xos misoli

Kapsülleme (dasturlash) misol:

* Eslatma:

Tavsif - usul / Mulk / o'zgaruvchining tavsifi, aslida dasturida nima sodir sharhlab, ya'ni. Bu ochilish / yopilish teglar orqali namoyish etiladi

Using System;

Nomlar fazosi OOPLibrary.Auto

{

///

/// Bu sinf Avtomobilning chora tasvirlash uchun mo'ljallangan

///

umumiy sinf Avto

{

///

/// maqsadida yaratilgan o'zgaruvchilar, qancha yil avtomobil, mulk ishlab chiquvchi tashqi to'siq ortiqcha deb hisoblaydi, chunki unda yozish uchun

/// Modifikator (yuqorida bayon qarang.), Ya'ni, yopiq, xususiy kirish xususiy belgilangan.

///

xususiy int _age;

///

/// A Boolean (faqat ikki mumkin bo'lgan qiymatlar - ha yoki yo'q), avtomobil vaqtda harakat yoki yo'qligini bayon

/// Shuningdek, tugatish foydalanuvchiga ochiq bo'lishi kerak, u kim edi. Shuning uchun, bu o'zgaruvchan bir xususiy kirish modifikatori "prayvat" beriladi

///

xususiy bool _isMoving;

///

/// Bu tor o'zgaruvchan avtomobil rangi haqida axborot olishi kerak. Bu tashqi ta'sirlardan tomonidan o'zgartirilishi mumkin

/// rang modifikatori "jamoat" ochiq kirish tanlangan uchun, chunki.

///

davlat string rangi;

///

/// Ushbu holda, biz avtomobil nomi, juda, o'zgartirilishi mumkin, deb taxmin

/// (qat'i nazar sinf yoki Assambleyasining, hamma uchun ochiq kirish) davlat bir nitelendirmesi tayinlanadi.

///

davlat string nomi;

///

/// sinf bunyodkori, va bildirdi o'zgaruvchining barcha xususiyatlarini ochib beradi va ularning qadriyatlarini olish, bir oz avval belgilangan

///

davlat Auto ()

{

_age = 5;

= FALSE _isMoving;

Color = "Binafsharang";

= "Skoda Octavia" nomi;

}

///

/// usuli auto yoshi qaytish qiymati anglaydi. Nima uchun bu zarur?

/// xususiy kirish modifikatori mijoz o'zgarishlar uchun imkon qilmaydi.

///

/// avtomobil yoshi beradi.

davlat string GetAge ()

{

+ _age + "yil". "Tanlangan mashinasi, Hozir" qaytib;

}

///

Avtomobil harakat bo'lmasa ///, bu usul harakatining boshlanishini amalga oshiradi. Cheklar o'zgaruvchan oboznalsya, avtomobil (sayohat yoki yo'q), va, natijalari qarab holati, tegishli faoliyat / Xabar ko'rsatiladi.

///

davlat bo'sh Start ()

{

Agar (_isMoving)

{

Console.WriteLine ( "harakat allaqachon boshlandi");

}

yana boshqa

{

= Rost _isMoving;

Console.WriteLine ( "Ready, sozlash .. off borib!");

}

}

///

harakat boshlangan bo'lsa ///, bu usul uni to'xtatadi. ko'rib o'tgan holda bir xil dastur mantiq.

///

davlat bo'sh Stop ()

{

Agar (_isMoving)

{

= FALSE _isMoving;

Console.WriteLine ( "Stop Machine");

}

yana boshqa

{

Console.WriteLine ( ". Xato avtomobil va shuning uchun, harakat emas hali asos");

}

}

///

Agar avtomobil mavjud bo'lsa ///, chap tomonga amalga oshirilayotgan

///

davlat bo'sh MoveLeft ()

{

Agar (_isMoving)

{

Console.WriteLine ( "amalga oshiriladi chapga");

}

yana boshqa

{

Console.WriteLine ( ". Xato avtomobil doimiy aylanish xususiyati hozircha mavjud emas.");

}

}

///

/// o'ng navbatida bilan o'xshash usul

///

davlat bo'sh MoveRight ()

{

Agar (_isMoving)

{

Console.WriteLine ( "huquqiga Turn muvaffaqiyatli amalga oshirildi");

}

yana boshqa

{

Console.WriteLine ( ". Mashina nosozlik spot u vaqtda harakat, u amalga oshirish uchun imkonsiz bo'lgan to'g'ri o'girib ko'chib yo'q ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.birmiss.com. Theme powered by WordPress.