KomputerProgramming

Encapsulation - naon ieu? Encapsulation di programming

Encapsulation - ieu téh salah sahiji tilu fitur utama programming obyék-berorientasi (OOP). The séjén dua - polymorphism jeung pusaka. Duaan sakitu kerangka PLO nanda nu ngaluarkeun handap rangkeian fitur tina program tulisan dina basa anu béda, ngagunakeun tilu prinsip ieu. basa obyék-berorientasi, kahareupna anu wajib nedunan nuturkeun aranjeunna.

Dasar OOP

Objék-berorientasi programming dina tilu pilar kreasi na:

  • Polymorphism, ngawalon sual sabaraha basa programming hususna ngurus objék nu boga hubungan saling, cara di luhur sarupa.
  • Warisan, mere jawaban, kumaha nu stimulasi tina pamakéan kode reusable.
  • Encapsulation, nu ngarupakeun jawaban kana sual nyumputkeun palaksanaan téh lumangsung, sahingga integritas data.

hal istilah

Encapsulation (programming) - nyaeta ngagunakeun modifiers aksés guna nyumputkeun potongan kode ti pamaké tungtung. Handapeun eta, kahareupna hartina pamekar atawa warisan loka.

Hakekat konsep "encapsulation"

harti nu hususna anu ku encapsulation dimaksudkan nyumput sagala atawa bagian tina kode program. Hakekat konsep "encapsulation" nyaéta pikeun ngamanipulasi modifiers aksés. Ieu ngandung harti yén pamekar nu bisa mutuskeun sipat nu, métode, jeung kelas bakal kabuka ka klien-kelas, sarta naon - nu disumputkeun.

modifiers aksés

Aya aksés modifiers, nu, di antara hal séjén, nyaéta sanggup manipulyarivat encapsulation (programming Java):

  • publik ( "Public" - publik, aksés kabuka) - dibagikeun boh kelas arus jeung objék, jeung ka sakuliah dunya luar;
  • swasta ( "prayvat" - swasta, swasta, aksés disumputkeun) - ditutup aksés, hakekat nu lengkep sabalikna ti hiji saméméhna. Eta nyadiakeun aksés hijina ti kelas ayeuna;
  • ditangtayungan ( "protekted" - ditangtayungan, aksés satengah disumputkeun) - Aksés ka kelas arus jeung turunan na;
  • standar - unspecified aksés modifier hartina widang / metoda bisa ditempo keur sakabeh kelas ayeuna di iket.

Dina C # basa ( "Si Sharp"), sajaba di luhur (iwal panungtungan), aya kénéh modifiers:

  • internal ( "internal" - aksés internal) - diakses dina assembly ayeuna, aksés indoor ka sadaya kasus lianna;
  • internal ditangtayungan ( "internal protekted" - Aksés dikonci internal) - rugbi dua modifiers dina hiji nu sipat manifest sahiji duanana.

Peran encapsulation

mékanisme encapsulation eliminates pangaruh éksternal dina kode jeung nyalahgunakeun data study di jerona. Ieu dilakonan ku ngagabungkeun antara kode jeung data kana salah.

Obyék sarta encapsulation

Ngagabungkeun palaksanaan modul software sarta data study di kode teh, programming disebut hiji obyék. Hakekat sambungan na kalawan encapsulation teh nya eta metoda misalna hiji ngamungkinkeun pikeun miara jeung mastikeun integritas operasi mékanisme nu.

Kauntungannana encapsulation

Encapsulation - cara pikeun simplify proses encoding. Sababaraha garis kode anu "balik layar", sarta dina karya kelas utama bade nenda instansi.

Pamanggih panyalindungan data

Encapsulation - eta oge mékanisme nu nyadar pamanggih panyalindungan data. logika program programming obyék-berorientasi ieu diwangun dina dasar naon lolobana data bakal disumputkeun aksés modifier swasta (swasta, swasta) atanapi ditangtayungan (ditangtayungan). The luar dunya, nasabah ngahaja atanapi ngahaja moal ngaruksak palaksanaan modul software. Kusabab dina kanyataanana eta ngajadikeun eta pohara gampang moal malah dina tujuan, encapsulation - ieu téh prinsip pohara alus.

unit encapsulation

Kelas, salaku Unit dasar encapsulation sarta ngajelaskeun data ngandung kode, nu bisa beroperasi dina data ieu. Anjeunna oge jadi dadasar pikeun pangwangunan obyék. dimungkinkeun dina, kahareupna ieu dibere salaku hiji conto.

Ogé dipaké terminologi handap:

  • anggota - ieu kodeu tur data kaasup di kelas;
  • Widang atawa variabel conto - nu disebut data nu ngahartikeun kelas;
  • fungsi anggota - aranjeunna ngandung kodeu sorangan. fungsi anggota - ngaran umum. Hiji hal husus - metode.

conto husus Encapsulation

Encapsulation (programming) conto:

* Catetan:

pedaran - pedaran ngeunaan metoda / sipat / variable, misalna commenting on naon sabenerna kajadian di program. Hal ieu nunjukkeun ku cara maké lawang / tag nutup

ngagunakeun System;

ngaranspasi OOPLibrary.Auto

{

///

/// kelas ieu dimaksudkeun pikeun ngajelaskeun Peta mobil urang

///

kelas publik Otomatis

{

///

/// variabel dijieun dina urutan nulis di dinya, sabaraha taun mobil, ti gangguan éksternal dina pamekar sipat ngemutan superfluous

/// modifier ieu ditandaan swasta, i.e. ditutup, aksés swasta (tingali. Pedaran di luhur).

///

swasta int _age;

///

/// A boolean (ukur dua kamungkinan nilai - enya atawa henteu), nu ngajelaskeun naha wahana geus pindah di momen

/// Ogé kedah kabuka jeung pamaké tungtung, saha bae anjeunna. Kituna variabel ieu ditugaskeun a aksés swasta modifier "prayvat"

///

bool _isMoving swasta;

///

/// variabel string Ieu kedah ngandung émbaran ngeunaan Warna mobil. Ieu bisa dirobah ku pangaruh éksternal

/// lantaran pikeun modifier warna dipilih aksés buka "publik".

///

publik string Warna;

///

/// Dina hal tangtu ieu, urang nganggap yen nami mobil, teuing, bisa dirobah

/// ditugaskeun a modifier of publik (aksés kabuka pikeun sakabéh, paduli kelas atawa assembly).

///

string Ngaran umum;

///

/// muka constructor kelas, sarta sakabeh sipat variabel dikedalkeun tur nyetel hiji saeutik baheula, meunang nilai maranéhna

///

publik Otomatis ()

{

_age = 5;

_isMoving = palsu;

Warna = "Ungu";

Ngaran = "Skoda Octavia";

}

///

/// metoda The nyadar hiji nilai balik ti umur otomatis. Naha ieu perlu?

/// aksés swasta modifier henteu nyieun mungkin keur parobahan klien.

///

/// mulih umur mobil.

string publik GetAge ()

{

balik "Di momen, anu mesin dipilih" + _age + "taun".;

}

///

/// Mun mobil teu pindah, metoda ieu implements mimiti gerak. Cék variabel oboznalsya, kondisi wahana (iinditan atanapi henteu), sarta, gumantung kana hasil, anu luyu Peta / pesen dipintonkeun.

///

batal publik Mimitian ()

{

lamun (_isMoving)

{

Console.WriteLine ( "gerakan The geus kungsi dimimitian");

}

lamun henteu

{

_isMoving = leres;

Console.WriteLine ( "Siap, siapkeun .. Buka kaluar!");

}

}

///

/// Lamun gerak ieu ngagagas, metoda ieu eureun anjeunna. Program logika sami sakumaha dina kasus saméméhna dianggap.

///

publik batal gaul ()

{

lamun (_isMoving)

{

_isMoving = palsu;

Console.WriteLine ( "Engke Mesin");

}

lamun henteu

{

Console.WriteLine ( ". Kasalahan mobil na jadi nangtung kénéh, teu gerak");

}

}

///

/// dilaksanakeun péngkolan kénca, upami aya wahana anu

///

publik batal MoveLeft ()

{

lamun (_isMoving)

{

Console.WriteLine ( "Hurungkeun ditinggalkeun rengse");

}

lamun henteu

{

Console.WriteLine ( ". Kasalahan kandaraan mangrupa fitur rotasi cicing ayeuna teu aya.");

}

}

///

/// A metoda sarupa jeung péngkolan katuhu

///

publik batal MoveRight ()

{

lamun (_isMoving)

{

Console.WriteLine ( "Hurungkeun katuhu ieu hasil dilaksanakeun");

}

lamun henteu

{

Console.WriteLine ( ". Kasalahan mobil geus teu dipindahkeun ti titik Ngaktipkeun katuhu eta di momen Peta eta, teu mungkin ngalakukeun ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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