ᲙომპიუტერებიᲞროგრამირება

Რა არის? ჩართვა პროგრამირებაში

Encapsulation არის ობიექტზე ორიენტირებული პროგრამირების (OOP) სამი ძირითადი მახასიათებელი . დანარჩენი ორია პოლიმორფიზმი და მემკვიდრეობა. ერთად ისინი ქმნიან PLO- ს ბაზას, რომელიც განსაზღვრავს პროგრამების წერას სხვადასხვა ენაზე, ამ სამ პრინციპით. ობიექტზე ორიენტირებული ენები, თავის მხრივ, აუცილებელია მათთვის ნათლად მიჰყევით.

OOP საფუძვლები

ობიექტზე ორიენტირებული პროგრამირება თავის სამყაროს სამ სვეტშია განთავსებული:

  • პოლიმორფიზმი, რეაგირება კითხვაზე, თუ როგორ გარკვეული პროგრამირების ენა ეპყრობა ობიექტები, რომ აქვს ურთიერთობა ერთმანეთთან, ანალოგიურად.
  • მემკვიდრეობით, პასუხით, თუ როგორ იმოქმედებს კოდექსის გამოყენების სტიმულირება არაერთხელ.
  • Encapsulation, რომელიც არის პასუხი კითხვაზე, თუ როგორ განხორციელდება დაფარვა და, შესაბამისად, მონაცემთა მთლიანობა დაცულია.

ტერმინოლოგია

Encapsulation (პროგრამირება) არის დაშვების მოდიფიკატორების გამოყენება დასასრული მომხმარებლის დასასრულებლად. თავის მხრივ, ნიშნავს დეველოპერს ან მემკვიდრეობის ობიექტს.

კონცეფციის არსი "encapsulation"

განმარტება განსაზღვრავს, რომ encapsulation ნიშნავს დამალვა ყველა ან ნაწილი კოდი. "Encapsulation" - ის კონცეფციის არსი არის დაშვების მოდიფიკაციების მანიპულირება. ეს იმას ნიშნავს, რომ თავად დეველოპერი გადაწყვეტს, თუ რომელი ობიექტები, მეთოდები და კლასები გაიხსნება კლიენტთა კლასში და რომელია დაფარული.

წვდომის მოდიფიკატორები

არსებობს ასეთი დაშვების მოდიფიკატორები, რომლებიც, მათ შორის, შეუძლიათ მანიპულირება encapsulation (ჯავის პროგრამირების):

  • საზოგადოება (საჯარო, საზოგადოება, ღია, ხელმისაწვდომობა) - საერთო წვდომის, როგორც არსებული ობიექტების, ასევე გარე სამყაროსთვის საერთო წვდომა;
  • კერძო ("კერძო" - კერძო, კერძო, ფარული ხელმისაწვდომობა) - კერძო წვდომა, რომლის არსიც სრულიად საპირისპიროა წინა ხაზზე. უზრუნველყოფს ხელმისაწვდომს მხოლოდ მიმდინარე კლასში;
  • დაცული (დაცული, ნახევრად დაფარული, ხელმისაწვდომობა) - მისაწვდომობა არსებული კლასისა და დერივატებიდან;
  • ჩვეულებრივ, დაუზუსტებელი წვდომის მოდიფიკატორი გულისხმობს, რომ საველე / მეთოდია მთელი მიმდინარე კლასის პაკეტისთვის.

In C # ("C Sharp"), გარდა მითითებული (გარდა უკანასკნელი), ჯერ კიდევ არსებობს ასეთი მოდიფიკატორები:

  • შიდა (შიდა) - ხელმისაწვდომობა მიმდინარე კოლექციაში, ყველა სხვა შემთხვევაში დახურული დაშვება;
  • შიდა დაცული ("შიდა დაცული ხელმისაწვდომობა") - ორი მოდიფიკატორის კომბინაცია ერთ-ერთში, რომელშიც ორივე მათგანის თვისებები გამოვლინდება.

Encapsulation როლი

ჩამონტაჟებული მექანიზმი საშუალებას იძლევა, ხელი შეუშალოს პროგრამის კოდის გარე გავლენას და მასში ჩაწერილი მონაცემების არასწორი გამოყენება. ეს კეთდება კოდისა და მონაცემების აერთიანებს ერთში.

ობიექტი და ჩანაცვლება

პროგრამის მოდულის განხორციელების კომბინაცია და პროგრამირებაში კოდით გათვალისწინებულ მონაცემებს ეწოდება ობიექტი. მისი კავშირი ჩაღრმავებასთან ერთად მდგომარეობს იმაში, რომ ეს ტექნიკაა, რომელიც საშუალებას იძლევა შეინარჩუნოს და უზრუნველყოს მექანიზმის განუყოფელი ფუნქციონირება.

ენციფულაციის უპირატესობა

Encapsulation არის გზა გაამარტივოს კოდირების პროცესი. კოდექსის მრავალრიცხოვანი ხაზები "სცენების მიღმა" რჩება და ძირითად კლასში მუშაობს ობიექტების შემთხვევები.

მონაცემთა დაცვის იდეა

Encapsulation ასევე მექანიზმი, რომელიც ახორციელებს მონაცემთა დაცვის იდეას. ობიექტზე ორიენტირებული პროგრამირების პროგრამის ლოგიკა ეფუძნება იმ ფაქტს, რომ მონაცემთა უმეტესი ნაწილი დამალულია შეტყობინების (პირადი, კერძო) ან დაცული (დაცული) საშუალებით. გარე სამყაროსთან, კლიენტს შემთხვევით ან განზრახ არ შეუძლია დაზიანდეს პროგრამული მოდულის განხორციელება. სინამდვილეში ეს ძალიან ადვილია ამის გაკეთებაც კი, დაკომპლექტება ძალიან კარგი პრინციპია.

Encapsulation ერთეულები

კლასს, როგორც encapsulation- ის ძირითად ერთეულს, აღწერს მონაცემებს და შეიცავს კოდი, რომელსაც შეუძლია ამ მონაცემებთან მუშაობის უნარი. ასევე ობიექტის მშენებლობის საფუძველია. ეს უკანასკნელი, თავის მხრივ, წარმოადგენს კლასების მაგალითს.

ასევე გამოიყენება შემდეგი ტერმინოლოგია:

  • წევრები არიან კოდი და მონაცემები შედის კლასში;
  • სფეროები, ან მაგალითად ცვლადები - ე.წ. მონაცემები, რომელიც განსაზღვრავს კლასს;
  • წევრი ფუნქციები - ისინი შეიცავს კოდს. წევრის ფუნქციებია საერთო სახელი. სპეციალური საქმეა მეთოდები.

კონცენტრაცია კონკრეტულ მაგალითზე

Encapsulation (პროგრამირების) მაგალითი:

* შენიშვნა:

აღწერა არის აღწერა მეთოდი / საკუთრება / ცვლადი, რომელიც კომენტირებისას რეალურად ხდება პროგრამაში. დემონსტრირება გამოყენებით გახსნის / დახურვის tags

სისტემის გამოყენება;

სახელთა სივრცე OOPLibrary.Auto

{

///

/ / ეს კლასი განკუთვნილია ავტომობილების თვისებებისა და ქმედებების აღწერისთვის

///

საზოგადოებრივი კლასი ავტო

{

///

/// მისთვის დაწერილი ცვლადი, რამდენი წლისაა მანქანა, რადგან ამ ქონების გარე ჩარევას განიხილავენ დეველოპერი ზედმეტად

/ / აღინიშნება მოდიფიკატორის კერძო, ანუ კერძო, კერძო წვდომით (იხილეთ აღწერილობა).

///

პირადი int _age;

///

/// ლოგიკური ცვლადი (მხოლოდ ორი შესაძლო ღირებულებები - დიახ თუ არა), რომელიც აღწერს თუ არა მანქანა ამჟამად მოძრაობს

/// ეს არ უნდა იყოს ღია საბოლოო მომხმარებლისთვის, ვინც ის არის. ამიტომ, ეს ცვლადი ენიჭება კერძო ხელმისაწვდომობის მოდიფიკატორს "პრივატს"

///

პირადი bool _isMoving;

///

/ / ეს სიმებიანი ცვლადი უნდა შეიცავდეს ინფორმაციას ავტომობილის ფერის შესახებ. შეიძლება გავლენა იქონიოს გარე გავლენისგან

/// იმის გამო, რომ საზოგადოებისთვის ხელმისაწვდომობის მოდიფიკატორი "საჯარო" შეირჩა ფერისთვის.

///

საჯარო სიმებიანი ფერი;

///

/// ამ კონკრეტულ შემთხვევაში, ჩვენ ვთვლით, რომ მანქანის სახელი შეიძლება შეიცვალოს

/ / ავალებს საჯარო მოდიფიკატორს (საჯარო ხელმისაწვდომობა ყველასთვის, მიუხედავად კლასი ან შეკრებისა).

///

საჯარო სიის დასახელება;

///

/ / კლასების კონსტრუქტორი გაიხსნა და ცვლადების მიერ გამოხატული ყველა თვისება და წინასწარ განსაზღვრული, მათი ღირებულებები

///

საზოგადოებრივი ავტო ()

{

_age = 5;

_isMoving = ყალბი;

ფერი = "მეწამული";

სახელი = "Skoda Octavia";

}

///

/ / მეთოდი ავტომატურად ახორციელებს ავტომატური ასაკის ღირებულებას. რატომ არის აუცილებელი?

/// პირადი ხელმისაწვდომობის მოდიფიკატორი არ იძლევა კლიენტის შეცვლას.

///

/ / დააბრუნებს მანქანას.

საზოგადოებრივი სიმებიანი GetAge ()

{

დაბრუნება "ამ დროისთვის შერჩეული მანქანა" + _ + + წლისაა ";

}

///

/// თუ მანქანა არ გადავა, ეს მეთოდი მოძრაობის დაწყებას ახორციელებს. შემოწმება ხორციელდება ავტომობილის მდგომარეობის (თუ არა მგზავრობისას თუ არა) ცვლადში, და შედეგების მიხედვით, შესაბამისი ქმედება ხორციელდება / ნაჩვენებია შესაბამისი შეტყობინება.

///

საჯარო ბათილი დაწყება ()

{

თუ (_ის მოძრავი)

{

Console.WriteLine ("მოძრაობა უკვე დაწყებულია");

}

სხვა

{

_isMoving = ჭეშმარიტი;

Console.WriteLine ("დაიწყოს, ყურადღება .. თავდამსხმელი, მოდით წავიდეთ!");

}

}

///

/// თუ მოძრაობა დაიწყო, მაშინ ეს მეთოდი შეჩერდება. იგივე პროგრამირების ლოგიკა, როგორც წინა შემთხვევაში.

///

საჯარო ბათილობა Stop ()

{

თუ (_ის მოძრავი)

{

_isMoving = ყალბი;

Console.WriteLine ("Stop, მანქანა");

}

სხვა

{

Console.WriteLine ("შეცდომა: მანქანა უკვე ადგილზეა, არ გადავა");

}

}

///

/ / მარცხნივ დატოვონ, თუ არსებობს მანქანა მოძრაობა

///

საჯარო ბათილია MoveLeft ()

{

თუ (_ის მოძრავი)

{

Console.WriteLine ("აღმოჩნდა მარცხნივ");

}

სხვა

{

Console.WriteLine ("შეცდომა: მანქანა სტაციონალურია, როტაციის ფუნქცია ამჟამად მიუწვდომელია");

}

}

///

/ / მსგავსი მეთოდი როტაციის უფლებით

///

საჯარო ბათილია MoveRight ()

{

თუ (_ის მოძრავი)

{

Console.WriteLine ("მართალი იყო წარმატებული");

}

სხვა

{

Console.WriteLine ("შეცდომა: მანქანა ჯერ არ გადავიდა." მარჯვნივ მარჯვნივ გადაქცევა შეუძლებელია ");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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