Computers, Programming
Encapsulation - dab tsi yog qhov no? Encapsulation nyob rau hauv lub cajmeem
Encapsulation - qhov no yog ib tug ntawm cov peb lub ntsiab nta ntawm yam khoom-taw qhia kom paub programming (OOP). Tus lwm yam ob - polymorphism thiab qub txeeg qub teg. Ua ke lawv ua li lub PLO moj khaum uas nteg cia ib tug ntau yam ntawm cov nta ntawm kev sau ntawv cov kev pab cuam nyob rau hauv lwm yam lus, uas siv cov peb tej ntsiab cai. Nruas-taw qhia kom paub hom lus, nyob rau hauv lem, yog yuam ua hauj lwm kom nruj me ntsis raws li lawv.
OOP Tsim
Nruas-taw qhia kom paub programming rau peb tug ncej ntawm nws cov creation:
- Polymorphism, teb cov lus nug ntawm yuav ua li cas ib tug programming lus ua hauj lwm nrog cov khoom uas muaj ib tug kev sib raug zoo nrog txhua lwm yam, nyob rau hauv ib tug zoo li yam.
- Qub txeeg qub teg, muab ib lo lus teb, yuav ua li cas yog lub stimulation ntawm kev siv ntawm reusable code.
- Encapsulation, uas yog cov lus teb rau lo lus nug ntawm nkaum qhov kev siv yuav siv sij hawm qhov chaw, thiab yog li cov ntaub ntawv kev ncaj ncees.
terminology
Encapsulation (programming) - yog siv nkag modifiers nyob rau hauv thiaj li yuav zais daim code los ntawm cov neeg siv kawg. Hauv qab nws, nyob rau hauv lem, txhais tau tias tus tsim tawm los yog cuab yeej cuab tam chaw.
Lub essence ntawm lub tswvyim ntawm "encapsulation"
Lub ntsiab txhais qhia txog hais tias los ntawm encapsulation meant nkaum tag nrho los yog ib feem ntawm qhov kev pab cuam cov cai. Lub essence ntawm lub tswvyim ntawm "encapsulation" yog muab nkag modifiers. Qhov no txhais tau tias tus tsim tawm yuav txiav txim siab uas lub zog, txoj kev, thiab cov chav kawm yuav tsum tau qhib rau tus neeg-chav kawm ntawv, thiab yog dab tsi - yog muab zais.
nkag modifiers
- pej xeem ( "Public" - pej xeem, qhib saib) - qhia ob lub tam sim no cov chav kawm thiab cov khoom, thiab mus rau lub ntiaj teb sab nraum;
- private ( "prayvat" - private, private, thaum saib) - kaw tau, tus essence ntawm uas yog kiag li qhov fab ntxeev ntawm ib yav dhau los. Nws muab kev nkag tau tsuas yog los ntawm cov tam sim no hauv chav kawm ntawv;
- kev tiv thaiv ( "protekted" - kev tiv thaiv, ib nrab-muab zais saib) - Mus saib tau hauv tam sim no hauv chav kawm ntawv thiab nws cov derivatives;
- neej ntawd hais - unspecified nkag modifier txhais tau tias lub teb / txoj kev yuav pom rau tag nrho cov tam sim no cov chav kawm nyob rau hauv lub pob.
Nyob rau hauv C # lus ( "Si Ntse"), nyob rau hauv tas li ntawd mus rau saum toj (tsuas yog cov xeem), muaj tseem modifiers:
- nrog ( "internal" - nrog saib) - VR nyob rau hauv lub tam sim no los ua ke, sab hauv tsev nkag tau mus rau tag nrho lwm cov neeg mob;
- nrog kev tiv thaiv ( "internal protekted" - nrog tiv thaiv Access) - union ntawm ob modifiers nyob rau hauv ib tug nyob rau hauv uas tshwm sim thaj chaw ntawm ob leeg.
Lub luag hauj lwm ntawm encapsulation
encapsulation mechanism eliminates lwm cawv rau cov code thiab siv cov ntaub ntawv kos nyob rau hauv nws. Qhov no yog accomplished los ntawm combining code thiab cov ntaub ntawv rau ib tug.
Nruas thiab encapsulation
Combining qhov kev siv ntawm ib tug software module thiab cov ntaub ntawv kos rau hauv cov code, programming yog hu ua ib tug kwv. Lub essence ntawm nws cov kev twb kev txuas nrog cov encapsulation yog hais tias xws li ib txoj kev tso cai rau kom muaj thiab xyuas kom meej lub meej mom ntawm lub lag luam ntawm lub mechanism.
Qhov kom zoo dua ntawm encapsulation
Encapsulation - ib txoj kev mus piv rau lub encoding txheej txheem. Heev heev cov kab ntawm code yog "qab lub scenes", thiab nyob rau hauv lub ntsiab hauv chav kawm ntawv ua hauj lwm yuav tsis lub sij hawm.
Lub tswv yim ntawm cov ntaub ntawv tiv thaiv
Encapsulation - nws kuj yog ib tug mechanism uas realizes lub tswv yim ntawm cov ntaub ntawv tiv thaiv. Program logic khoom-taw qhia kom paub programming yog ua nyob rau hauv lub hauv paus ntawm dab tsi feem ntau ntawm cov ntaub ntawv no yuav tsum muab zais nkag modifier private (private, lwm) los yog kev tiv thaiv (tiv thaiv). Lub ntiaj teb sab nraum, tus neeg muas zaub ntawd los yog txhob txwm tshaj tawm yuav tsis puas qhov kev siv ntawm ib tug software module. Vim hais tias nyob rau hauv qhov tseeb nws ua rau nws yooj yim heev rau tsis txawm nyob rau lub hom phiaj, encapsulation - qhov no yog ib tug zoo heev hauv paus ntsiab lus.
encapsulation tsev
Chav kawm ntawv, raws li ib tug hauv paus ntawm encapsulation thiab qhia txog cov ntaub ntawv muaj ib tug code, uas yog tau ua hauj lwm nyob rau hauv cov ntaub ntawv no. Nws tseem yog lub hauv paus rau qhov kev siv ntawm tus kwv. Cov yav tas, nyob rau hauv lem, yog hais raws li ib tug piv txwv.
- neeg - qhov no yog qhov code thiab cov ntaub ntawv muaj nyob rau hauv lub chav kawm ntawv;
- teb los yog txwv ntau yam - qhov thiaj li hu ua cov ntaub ntawv uas qhia cov chav kawm ntawv;
- neeg khiav dej num - lawv muaj tus code nws tus kheej. Tug zog - ib lub npe. Ib tug tshwj xeeb cov ntaub ntawv - txoj kev.
Encapsulation piv txwv
Encapsulation (programming) Piv txwv li:
* Ceeb toom:
piav qhia - ib tug piav qhia ntawm lub hom / vaj tse / nce mus nce los, piv txwv li commenting nyob li cas ua tau tshwm sim nyob rau hauv qhov kev pab cuam. Nws yog pom hais tias nws los ntawm txoj kev qhib / kaw cim npe
siv zog;
namespace OOPLibrary.Auto
{
///
/// Hoob no yog npaj los qhia txog lub tsheb txiav txim
///
pej xeem hauv chav kawm ntawv pib
{
///
/// variables tsim nyob rau hauv thiaj li yuav sau nyob rau hauv nws, yuav ua li cas tau ntau xyoo rau hauv lub tsheb, vim cov sab nraud cuam nyob rau hauv cov cuab yeej tsim tawm considers superfluous
/// modifier yog cim private, i.e. kaw, private nkag (saib. Qhov kev piav qhia saum toj no).
///
private rau cov menyuam _age;
///
/// A boolean (tsuas yog ob tug tau qhov tseem ceeb - yog los yog tsis muaj), uas qhia txog seb lub tsheb yog tsiv ntawm lub caij
/// Nws yuav tsum tau tseem yuav qhib mus rau thaum xaus neeg siv, leej twg nws yog. Yog li ntawd no nce mus nce los yog muab ib tug private nkag modifier "prayvat"
///
private bool _isMoving;
///
/// no txoj hlua kuj tsis paub meej yuav tsum muaj ntaub ntawv hais txog cov xim ntawm lub tsheb. Nws yuav raug hloov los ntawm lwm influences
/// vim hais tias rau cov xim modifier xaiv qhib kev nkag "pej xeem".
///
pej xeem txoj hlua xim;
///
/// Nyob rau hauv no xyov cov ntaub ntawv, peb xav hais tias lub npe ntawm lub tsheb, dhau lawm, yuav raug hloov
/// muab ib tug modifier ntawm pej xeem (qhib kev nkag tau mus rau tag nrho cov, tsis hais cov chav kawm ntawv los yog los ua ke).
///
pej xeem txoj hlua npe;
///
/// Opens cov chav kawm ntawv constructor, thiab tag nrho cov zog ntawm qhov qhia nce mus nce los thiab muab ib tug me ntsis ua ntej lawm, tau lawv qhov tseem ceeb
///
pej xeem pib ()
{
_age = 5;
_isMoving = cuav;
Xim = "Ntshav";
Lub npe = "Skoda Octavia";
}
///
/// Cov kev realizes ib tug rov qab nqi ntawm cov pib muaj hnub nyoog. Yog vim li cas yog no tsim nyog?
/// private nkag modifier tsis ua rau nws ua tau rau tus neeg hloov.
///
/// Rov cov muaj hnub nyoog ntawm lub tsheb.
pej xeem txoj hlua GetAge ()
{
rov qab "Thaum lub sij hawm ntawd, cov xaiv tshuab" + _age + "xyoo.";
}
///
/// Yog hais tias lub tsheb yog tsis tsiv, qhov no txoj kev siv cov pib ntawm lub zog. Cov tshev mis kuj sib txawv thiab oboznalsya, tus mob ntawm lub tsheb (mus txawv tebchaws los yog tsis), thiab, nyob ntawm seb cov kev tshwm sim, tus tsim nyog txiav txim / lus no yog tso tawm kom pom.
///
pej xeem tsis muaj dabtsis Start ()
{
yog hais tias (_isMoving)
{
Console.WriteLine ( "The zog twb tau pib");
}
lwm tus
{
_isMoving = tseeb;
Console.WriteLine ( "Ready, Teem caij .. Mus tawm!");
}
}
///
/// Yog hais tias cov lus tsa suab yog chiv, cov qauv no lawm nws. Cov kawm tib logic raws li nyob rau hauv lub yav dhau los cov ntaub ntawv tau.
///
pej xeem tsis muaj dabtsis Nres ()
{
yog hais tias (_isMoving)
{
_isMoving = cuav;
Console.WriteLine ( "Stop Tshuab");
}
lwm tus
{
Console.WriteLine ( ". Yuam kev tsheb thiab thiaj li sawv tseem, tsis txhob txav");
}
}
///
/// ua kev sab laug tig, yog hais tias muaj yog ib lub tsheb
///
pej xeem tsis muaj dabtsis MoveLeft ()
{
yog hais tias (_isMoving)
{
Console.WriteLine ( "tig laug yog ua");
}
lwm tus
{
Console.WriteLine ( ". Yuam kev tsheb yog chaw sib hloov feature yog tam sim no tsis muaj.");
}
}
///
/// zoo ib yam li txoj kev nrog rau txoj kev tig
///
pej xeem tsis muaj dabtsis MoveRight ()
{
yog hais tias (_isMoving)
{
Console.WriteLine ( "Lem sab xis yog DVR ntse");
}
lwm tus
{
Console.WriteLine ( ". Yuam kev tsheb tsis tau tsiv los ntawm lub chaw siav txoj cai nws yog thaum lub caij qhov kev txiav txim, nws yog tsis yooj yim sua kom ua tau ..");
}
}
}
}
Similar articles
Trending Now