កុំព្យូទ័រ, ការសរសេរកម្មវិធី
Encapsulation - តើនេះជាអ្វី? encapsulation ក្នុងការសរសេរកម្មវិធី
encapsulation - នេះគឺជាការមួយនៃលក្ខណៈពិសេសចម្បងទាំងបីនៃ Object-Oriented Programming (OOP) ។ ផ្សេងទៀតពីរ - និងមរតកពហុសណ្ឋាន។ រួមជាមួយគ្នាពួកគេបានធ្វើឱ្យកើនឡើងក្របខ័ណ្ឌ PLO ដែលបានដាក់ចុះនូវជួរនៃលក្ខណៈពិសេសនៃកម្មវិធីការសរសេរក្នុងភាសាផ្សេងគ្នាដោយប្រើគោលការណ៍ទាំងបីនេះ។ ភាសាចង្អុលទិសទៅវត្ថុ, នៅក្នុងវេន, ត្រូវមានកាតព្វកិច្ចដើម្បីអនុវត្តតាមគេយ៉ាងតឹងតែង។
មូលដ្ឋាន OOP
ចង្អុលទិសទៅវត្ថុសរសេរកម្មវិធីនៅលើសសរស្តម្ភទាំងបីនៃការបង្កើតរបស់ខ្លួន:
- ពហុសណ្ឋាន, ឆ្លើយសំណួរអំពីរបៀបនៃភាសាសរសេរកម្មវិធីមួយពិសេសទាក់ទងនឹងវត្ថុដែលមានទំនាក់ទំនងជាមួយគ្នាក្នុងលក្ខណៈស្រដៀងគ្នាមួយ។
- មរតក, ការផ្តល់ចម្លើយមួយ, របៀបគឺការរំញោចនៃការប្រើប្រាស់នៃកូដដែលអាចប្រើឡើងវិញបាន។
- encapsulation ដែលជាចម្លើយទៅនឹងសំណួរនៃការលាក់ការអនុវត្តនេះកើតឡើងហើយដូច្នេះបូរណភាពទិន្នន័យ។
វាក្យស័ព្ទ
encapsulation (ការសរសេរកម្មវិធី) - គឺត្រូវប្រើកម្មវិធីកែប្រែការចូលដំណើរការក្នុងគោលបំណងដើម្បីលាក់បំណែកនៃកូដពីអ្នកប្រើចុងបញ្ចប់។ ក្រោមវានៅក្នុងវេនមានន័យថាគេហទំព័រអ្នកអភិវឌ្ឍន៍ឬការបេតិកភ័ណ្ឌនេះ។
សារៈសំខាន់នៃគោលគំនិតនៃ«ការ encapsulation "នេះ
និយមន័យនេះបានបញ្ជាក់ថាដោយ encapsulation ទាំងអស់ឬន័យថាការលាក់កូដកម្មវិធីផ្នែកនេះ។ សារៈសំខាន់នៃគោលគំនិតនៃ«ការ encapsulation "នេះគឺដើម្បីរៀបចំកែប្រែការចូលដំណើរការ។ នេះមានន័យថាអ្នកអភិវឌ្ឍន៍អាចសម្រេចថាលក្ខណៈសម្បត្តិវិធីសាស្រ្ត, និងថ្នាក់នឹងបើកម៉ាស៊ីនភ្ញៀវថ្នាក់និងអ្វីដែល - ត្រូវបានលាក់។
កែប្រែការចូលដំណើរការ
- សាធារណៈ ( "សាធារណៈ" - សាធារណៈ, ការបើកចំហការចូលដំណើរការ) - ចំណែកទាំងថ្នាក់និងវត្ថុនាពេលបច្ចុប្បន្ននិងទៅពិភពខាងក្រៅ;
- ឯកជន ( "prayvat" - ឯកជន, ឯកជន, ការចូលដំណើរការដែលលាក់) - បិទការចូលដំណើរការ, សារៈសំខាន់នៃការដែលជាការផ្ទុយពីមុនទាំងស្រុងមួយនេះ។ វាផ្ដល់នូវការចូលដំណើរការបានតែពីថ្នាក់នាពេលបច្ចុប្បន្ននេះ;
- ការពារ ( "protekted" - ការពារការចូលដំណើរការពាក់កណ្តាលដែលបានលាក់) - ការចូលដំណើរការទៅថ្នាក់នាពេលបច្ចុប្បន្ននិងឧបករណ៍ហិរញ្ញវត្ថុរបស់ខ្លួន;
- លំនាំដើម - កែប្រែការចូលដំណើរការដែលមិនបានបញ្ជាក់ន័យថាវាល / វិធីសាស្រ្តអាចមើលឃើញសម្រាប់ថ្នាក់នាពេលបច្ចុប្បន្នទាំងអស់នៅក្នុងកញ្ចប់។
ភាសា C # ក្នុង ( "ប្រសិនបើក្រុមហ៊ុន Sharp") ក្នុងការបន្ថែមទៅខាងលើ (លើកលែងតែចុងក្រោយ), នៅមាន modifiers:
- ផ្ទៃក្នុង ( "ផ្ទៃក្នុង" - ការចូលដំណើរការខាងក្នុង) - មធ្យោបាយងាយស្រួលក្នុងការជួបប្រជុំនាពេលបច្ចុប្បន្ននេះ, ការចូលដំណើរក្នុងផ្ទះទៅករណីផ្សេងទៀតទាំងអស់;
- ផ្ទៃការពារ ( "protekted ផ្ទៃក្នុង" - ការទទួលផ្ទៃក្នុងការពារ) - សហជីពពីរនាក់នៅក្នុងការកែប្រែមួយដែលមានលក្ខណៈសម្បត្តិសម្ដែងទាំងពីររបស់ពួកគេ។
តួនាទីរបស់ encapsulation នេះ
យន្តការ encapsulation លុបបំបាត់ឥទ្ធិពលខាងក្រៅនៅលើកូដនិងការប្រើប្រាស់ទិន្នន័យដែលបានបង្កប់នៅក្នុងវា។ នេះត្រូវបានសម្រេចដោយការរួមបញ្ចូលគ្នារវាងកូដនិងទិន្នន័យទៅក្នុងមួយ។
វត្ថុនិង encapsulation
រួមបញ្ចូលគ្នារវាងការអនុវត្តន៍ម៉ូឌុលកម្មវិធីនិងទិន្នន័យដែលបានបង្កប់នៅក្នុងកូដកម្មវិធីត្រូវបានគេហៅថាវត្ថុមួយ។ សារៈសំខាន់នៃការតភ្ជាប់របស់ខ្លួនជាមួយ encapsulation នេះគឺថាដូចជាវិធីសាស្រ្តមួយដែលអនុញ្ញាតឱ្យអ្នកដើម្បីរក្សានិងធានាសុចរិតភាពនៃប្រតិបត្ដិការនៃយន្ដការនេះ។
អត្ថប្រយោជន៍នៃការ encapsulation នេះ
encapsulation - វិធីដើម្បីងាយស្រួលក្នុងការដំណើរការអ៊ិនកូដនេះ។ បន្ទាត់នៃកូដដែលមានជាច្រើន "នៅពីក្រោយឆាក" និងនៅក្នុងការងារថ្នាក់មេត្រូវបានជំទាស់ករណីនឹង។
គំនិតនៃការការពារទិន្នន័យ
encapsulation - វាគឺជាយន្តការមួយដែលដឹងគំនិតនៃការការពារទិន្នន័យនេះផងដែរ។ តក្កកម្មវិធី Object-Oriented Programming ត្រូវបានបង្កើតឡើងនៅលើមូលដ្ឋាននៃអ្វីដែលភាគច្រើនបំផុតនៃទិន្នន័យនឹងត្រូវបានកែប្រែការចូលដំណើរការដែលបានលាក់ឯកជន (ឯកជន, ឯកជន) ឬការពារ (ការពារ) ។ ពិភពខាងក្រៅអតិថិជនដោយចៃដន្យឬចេតនានឹងមិនធ្វើឱ្យខូចការអនុវត្តម៉ូឌុលកម្មវិធីនេះ។ សារតែនៅក្នុងការពិតវាធ្វើឱ្យវាមានភាពងាយស្រួលក្នុងការមិនបានសូម្បីតែនៅលើគោលបំណង, encapsulation - នេះគឺជាគោលការណ៍ល្អណាស់។
អង្គភាព encapsulation
ថ្នាក់ជាអង្គភាពមូលដ្ឋាននៃ encapsulation និងរៀបរាប់អំពីទិន្នន័យដែលមានលេខកូដមួយដែលអាចប្រតិបត្តិការលើទិន្នន័យទាំងនេះ។ គាត់គឺជាមូលដ្ឋានសម្រាប់ការសាងសង់នៃវត្ថុនោះ។ ក្រោយមកទៀត, នៅក្នុងវេន, ត្រូវបានបង្ហាញថាជាឧទាហរណ៍មួយ។
- សមាជិក - នេះគឺជាកូដនិងទិន្នន័យដែលបានរួមបញ្ចូលនៅក្នុងថ្នាក់!
- វាលឬអថេរឧទាហរណ៍ - ទិន្នន័យដែលគេហៅថាដែលកំណត់ថ្នាក់;
- មុខងារសមាជិក - ពួកគេមានលេខកូដរបស់វា។ មុខងារសមាជិក - ឈ្មោះជារឿងធម្មតា។ ករណីពិសេស - វិធីសាស្រ្ត។
encapsulation ឧទាហរណ៍ជាក់លាក់
encapsulation (ការសរសេរកម្មវិធី) ឧទាហរណ៍:
* ចំណាំ:
បរិយាយ - ការរៀបរាប់អំពីវិធីសាស្ដ្រ / ទ្រព្យសម្បត្តិ / អថេរមួយពោលគឺផ្ដល់មតិយោបល់លើអ្វីដែលកើតឡើងពិតជានៅក្នុងកម្មវិធីនេះ។ វាត្រូវបានបង្ហាញដោយមធ្យោបាយនៃការបើក / បិទស្លាក
ការប្រើប្រាស់ប្រព័ន្ធ;
OOPLibrary.Auto លំហឈ្មោះ
{
///
/// ថ្នាក់នេះមានគោលបំណងដើម្បីរៀបរាប់អំពីសកម្មភាពរបស់រថយន្ត
///
ដោយស្វ័យប្រវត្តិថ្នាក់សាធារណៈ
{
///
/// អថេរបង្កើតឡើងក្នុងគោលបំណងដើម្បីសរសេរនៅក្នុងវា, របៀបជាច្រើនឆ្នាំមករថយន្ត, ចាប់តាំងពីការជ្រៀតជ្រែកពីខាងក្រៅក្នុងការអភិវឌ្ឍន៍អចលនទ្រព្យបានចាត់ទុកនាំអោយ
/// កែប្រែត្រូវបានសម្គាល់ជាឯកជនឧបិទការចូលដំណើរការឯកជន (សូមមើល។ ការរៀបរាប់ខាងលើ) ។
///
_age int ឯកជន;
///
/// ប៊ូលីនមួយ (តម្លៃអាចធ្វើទៅបានតែពីរ - បាទឬគ្មាន) ដែលរៀបរាប់អំពីថាតើរថយន្តនេះបានផ្លាស់ប្តូរនៅពេលនេះ
/// វាគួរតែមានការបើកចំហរដល់អ្នកប្រើចុងបញ្ចប់អ្នកណាដែលគាត់មាន។ ដូច្នេះអថេរនេះត្រូវបានផ្ដល់ការចូលដំណើរការឯកជនមួយបានកែប្រែ "prayvat"
///
_isMoving bool ឯកជន;
///
/// អថេរខ្សែអក្សរនេះគួរតែមានអំពីណ៍នៃរថយន្តនេះ។ វាអាចត្រូវបានផ្លាស់ប្តូរដោយឥទ្ធិពលខាងក្រៅ
/// ដោយសារតែសម្រាប់ការកែប្រែណ៍ដែលបានជ្រើសការចូលដំណើរការបើកចំហ "សាធារណៈ" ។
///
Color ខ្សែសាធារណៈ
///
/// ក្នុងករណីពិសេសនេះ, យើងសន្មតថាឈ្មោះរបស់រថយន្តនេះផងដែរអាចត្រូវបានផ្លាស់ប្តូរ
/// បានផ្ដល់កែប្រែនៃសាធារណៈមួយ (ការចូលដំណើរការបើកចំហសម្រាប់ការទាំងអស់ដោយមិនគិតពីថ្នាក់ឬការជួបប្រជុំគ្នា) ។
///
ឈ្មោះខ្សែសាធារណៈ
///
/// បើកថ្នាក់ស្ថាបនិកនិងលក្ខណៈសម្បត្តិទាំងអស់នៃអថេរសម្តែងនិងកំណត់មុនតិចតួចមួយទទួលបានតម្លៃរបស់ពួកគេ
///
សាធារណៈដោយស្វ័យប្រវត្តិ ()
{
_age = 5;
_isMoving = មិនពិត!
color = "ផ្កាឈូក";
ឈ្មោះ = "Skoda Octavia";
}
///
/// វិធីសាស្រ្តនេះដឹងត្រឡប់តម្លៃនៃអាយុរថយន្ត។ ហេតុអ្វីបានជានេះគឺជាការចាំបាច់?
/// កែប្រែការចូលដំណើរការឯកជនមិនធ្វើឱ្យវាអាចធ្វើទៅបានសម្រាប់ការផ្លាស់ប្តូរម៉ាស៊ីនភ្ញៀវ។
///
/// ត្រឡប់អាយុរថយន្ត។
ខ្សែអក្សរសាធារណៈ GetAge ()
{
វិលត្រឡប់មកវិញ "នៅពេលនេះម៉ាស៊ីនដែលបានជ្រើស" + _age + "ឆ្នាំមកហើយ។ ";
}
///
/// ប្រសិនបើរថយន្តនេះមិនត្រូវបានផ្លាស់ប្តូរវិធីសាស្រ្តនេះអនុវត្តការចាប់ផ្តើមនៃចលនានេះ។ ពិនិត្យមើល oboznalsya អថេរស្ថានភាពនៃរថយន្តនេះ (ការធ្វើដំណើរឬមិនមាន) និងអាស្រ័យលើលទ្ធផលនេះ, សកម្មភាព / សារសមស្របត្រូវបានបង្ហាញ។
///
ចាត់ទុកជាមោឃៈសាធារណៈចាប់ផ្តើម ()
{
ប្រសិនបើការ (_isMoving)
{
Console.WriteLine ( "ចលនានេះត្រូវបានចាប់ផ្ដើមរួច");
}
ផ្សេងទៀត
{
_isMoving = ពិត;
Console.WriteLine ( "រួចរាល់ហើយ, កំណត់ .. ចូរទៅបិទ!");
}
}
///
/// ប្រសិនបើចលនានេះត្រូវបានផ្តួចផ្តើម, វិធីសាស្រ្តនេះបានបញ្ឈប់គាត់។ តក្កកម្មវិធីដូចគ្នានៅក្នុងករណីនេះបានចាត់ទុកជាមុន។
///
បញ្ឈប់ការចាត់ទុកជាមោឃៈសាធារណៈ ()
{
ប្រសិនបើការ (_isMoving)
{
_isMoving = មិនពិត!
Console.WriteLine ( "បញ្ឈប់ម៉ាស៊ីន");
}
ផ្សេងទៀត
{
Console.WriteLine ( "។ ដូច្នេះរថយន្តកំហុសនិងការឈរនៅស្ងៀមហើយមិនត្រូវផ្លាស់ប្តូរ");
}
}
///
/// អនុវត្តវេនខាងឆ្វេង, ប្រសិនបើមានរថយន្ត
///
MoveLeft ចាត់ទុកជាមោឃៈសាធារណៈ ()
{
ប្រសិនបើការ (_isMoving)
{
Console.WriteLine ( "បត់ឆ្វេងត្រូវបានធ្វើ");
}
ផ្សេងទៀត
{
Console.WriteLine ( "។ បច្ចុប្បន្នរថយន្តកំហុសលក្ខណៈពិសេសការបង្វិលមិនអាចរកស្ថានី។ ");
}
}
///
/// វិធីសាស្រ្តមួយដែលស្រដៀងគ្នាជាមួយនឹងបត់ស្តាំ
///
MoveRight ចាត់ទុកជាមោឃៈសាធារណៈ ()
{
ប្រសិនបើការ (_isMoving)
{
Console.WriteLine ( "បត់ស្តាំត្រូវបានអនុវត្តដោយជោគជ័យ");
}
ផ្សេងទៀត
{
Console.WriteLine ( "។ កំហុសក្នុងរថយន្តនេះមិនបានផ្លាស់ប្តូរពីកន្លែងដែលបើកនៅខាងស្ដាំវាត្រូវបាននៅពេលនេះសកម្មភាពនេះវាមិនអាចទៅរួចទេដើម្បីអនុវត្ត .. ");
}
}
}
}
Similar articles
Trending Now