កុំព្យូទ័រការសរសេរកម្មវិធី

Encapsulation - តើនេះជាអ្វី? encapsulation ក្នុងការសរសេរកម្មវិធី

encapsulation - នេះគឺជាការមួយនៃលក្ខណៈពិសេសចម្បងទាំងបីនៃ Object-Oriented Programming (OOP) ។ ផ្សេងទៀតពីរ - និងមរតកពហុសណ្ឋាន។ រួមជាមួយគ្នាពួកគេបានធ្វើឱ្យកើនឡើងក្របខ័ណ្ឌ PLO ដែលបានដាក់ចុះនូវជួរនៃលក្ខណៈពិសេសនៃកម្មវិធីការសរសេរក្នុងភាសាផ្សេងគ្នាដោយប្រើគោលការណ៍ទាំងបីនេះ។ ភាសាចង្អុលទិសទៅវត្ថុ, នៅក្នុងវេន, ត្រូវមានកាតព្វកិច្ចដើម្បីអនុវត្តតាមគេយ៉ាងតឹងតែង។

មូលដ្ឋាន OOP

ចង្អុលទិសទៅវត្ថុសរសេរកម្មវិធីនៅលើសសរស្តម្ភទាំងបីនៃការបង្កើតរបស់ខ្លួន:

  • ពហុសណ្ឋាន, ឆ្លើយសំណួរអំពីរបៀបនៃភាសាសរសេរកម្មវិធីមួយពិសេសទាក់ទងនឹងវត្ថុដែលមានទំនាក់ទំនងជាមួយគ្នាក្នុងលក្ខណៈស្រដៀងគ្នាមួយ។
  • មរតក, ការផ្តល់ចម្លើយមួយ, របៀបគឺការរំញោចនៃការប្រើប្រាស់នៃកូដដែលអាចប្រើឡើងវិញបាន។
  • encapsulation ដែលជាចម្លើយទៅនឹងសំណួរនៃការលាក់ការអនុវត្តនេះកើតឡើងហើយដូច្នេះបូរណភាពទិន្នន័យ។

វាក្យស័ព្ទ

encapsulation (ការសរសេរកម្មវិធី) - គឺត្រូវប្រើកម្មវិធីកែប្រែការចូលដំណើរការក្នុងគោលបំណងដើម្បីលាក់បំណែកនៃកូដពីអ្នកប្រើចុងបញ្ចប់។ ក្រោមវានៅក្នុងវេនមានន័យថាគេហទំព័រអ្នកអភិវឌ្ឍន៍ឬការបេតិកភ័ណ្ឌនេះ។

សារៈសំខាន់នៃគោលគំនិតនៃ«ការ encapsulation "នេះ

និយមន័យនេះបានបញ្ជាក់ថាដោយ encapsulation ទាំងអស់ឬន័យថាការលាក់កូដកម្មវិធីផ្នែកនេះ។ សារៈសំខាន់នៃគោលគំនិតនៃ«ការ encapsulation "នេះគឺដើម្បីរៀបចំកែប្រែការចូលដំណើរការ។ នេះមានន័យថាអ្នកអភិវឌ្ឍន៍អាចសម្រេចថាលក្ខណៈសម្បត្តិវិធីសាស្រ្ត, និងថ្នាក់នឹងបើកម៉ាស៊ីនភ្ញៀវថ្នាក់និងអ្វីដែល - ត្រូវបានលាក់។

កែប្រែការចូលដំណើរការ

មានការចូលដំណើរការកែប្រែដែលក្នុងចំណោមរបស់ផ្សេងទៀតគឺសមត្ថភាពនៃការ encapsulation manipulyarivat (កម្មវិធី Java) គឺ:

  • សាធារណៈ ( "សាធារណៈ" - សាធារណៈ, ការបើកចំហការចូលដំណើរការ) - ចំណែកទាំងថ្នាក់និងវត្ថុនាពេលបច្ចុប្បន្ននិងទៅពិភពខាងក្រៅ;
  • ឯកជន ( "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

 

 

 

 

Newest

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