Cyfrifiaduron, Rhaglennu
Crynhoad - beth yw hyn? Amgįu mewn rhaglenni
Crynhoad - mae hyn yn un o'r tri phrif nodweddion rhaglennu gwrthrych-oriented (OOP). Y ddau arall - polymorphism ac etifeddu. Gyda'i gilydd maent yn ffurfio'r fframwaith PLO sy'n gosod amrywiaeth o nodweddion o raglenni ysgrifennu mewn gwahanol ieithoedd, gan ddefnyddio'r rhain tair egwyddor. ieithoedd gwrthrych-oriented, yn eu tro, yn gorfod eu dilyn yn llym.
Basics OOP
Gwrthrych-oriented rhaglennu ar dri philer ei greu:
- Polymorphism, ateb y cwestiwn o sut mae iaith raglennu benodol delio â gwrthrychau sydd â pherthynas â'i gilydd, yn yr un modd.
- Etifeddu, gan roi ateb, sut mae ysgogi defnydd o cod y gellir eu hailddefnyddio.
- Mewngapsiwleiddio, sef yr ateb i'r cwestiwn o guddio y gweithrediad yn digwydd, ac felly cyfanrwydd data.
terminoleg
Crynhoad (rhaglennu) - yw defnyddio addasyddion mynediad er mwyn cuddio darnau o cod o'r defnyddiwr. Oddi tano, yn ei dro, yn golygu y safleoedd datblygwr neu dreftadaeth.
Hanfod y cysyniad o "mewngapsiwleiddio"
Mae'r diffiniad yn nodi bod gan mewngapsiwleiddio golygu guddio cyfan neu ran o'r cod rhaglen. Hanfod y cysyniad o "mewngapsiwleiddio" yw i drin addaswyr mynediad. Mae hyn yn golygu y gall y datblygwr benderfynu pa eiddo, dulliau, a bydd y dosbarthiadau ar agor i'r cleient-dosbarth, a beth - yn cael eu cuddio.
modifiers mynediad
- gyhoeddus ( "Cyhoeddus" - y cyhoedd, mynediad agored) - cyfran y dosbarthiadau a gwrthrychau cyfredol, ac i'r byd y tu allan;
- preifat ( "prayvat" - mynediad preifat, preifat, cudd) - ar gau mynediad, hanfod sy'n gwbl groes i un blaenorol. Mae'n darparu mynediad yn unig gan y dosbarth ar hyn o bryd;
- gwarchodedig ( "protekted" - a ddiogelir, mynediad hanner-cudd) - Mynediad i'r dosbarth ar hyn o bryd ac mae ei deilliadau;
- diofyn - modifier mynediad amhenodol yn golygu y gall y cae / dull i'w gweld ar gyfer yr holl ddosbarthiadau ar hyn o bryd yn y pecyn.
Yn C # iaith ( "Si Sharp"), yn ychwanegol at yr uchod (ar wahân i'r olaf), mae yn dal addasyddion:
- mewnol ( "mewnol" - mynediad mewnol) - hygyrchedd yn y cynulliad ar hyn o bryd, mynediad dan do i'r mhob achos arall;
- warchodir mewnol ( "mewnol protekted" - Mynediad mewnol Gwarchodedig) - undeb o ddau modifiers mewn un lle priodweddau amlwg o'r ddau ohonynt.
Rôl mewngapsiwleiddio
mecanwaith amgįu gwared ddylanwad allanol ar y cod a chamddefnyddio data hymgorffori ynddo. Cyflawnir hyn drwy gyfuno cod a data i mewn i un.
Gwrthrych a encapsulation
Byddai cyfuno modiwl meddalwedd a data hymgorffori yn y cod gweithredu, a elwir yn rhaglennu yn wrthrych. Hanfod ei gysylltiad â'r mewngapsiwleiddio yw bod dull o'r fath yn caniatáu i gynnal a sicrhau cyfanrwydd y gweithrediad y mecanwaith.
Y fantais o amgįu
Crynhoad - ffordd o symleiddio'r broses amgodio. Mae nifer o linellau o god yn cael eu "tu ôl i'r llenni", ac yn y prif gwaith dosbarth yn mynd i wrthwynebu achosion.
Mae'r syniad o ddiogelu data
Crynhoad - mae hefyd yn fecanwaith sy'n sylweddoli y syniad o ddiogelu data. rhesymeg Rhaglen rhaglennu gwrthrych-oriented ei adeiladu ar sail yr hyn y bydd y rhan fwyaf o'r data yn gudd modifier mynediad preifat (preifat, preifat) neu warchodedig (gwarchodedig). Byd y tu allan, y cwsmer yn ddamweiniol neu'n fwriadol, ni fydd yn niweidio y modiwl meddalwedd ar waith. Oherwydd yn wir mae'n ei gwneud yn hawdd iawn i ddim hyd yn oed ar bwrpas, amgįu - mae hyn yn egwyddor dda iawn.
uned amgįu
Dosbarth, fel uned sylfaenol o amgáu ac yn disgrifio'r data yn cynnwys cod, sy'n gallu gweithredu ar y data hyn. Mae hefyd yn sail ar gyfer y gwaith o gwrthrych adeiladu. Mae'r olaf, yn ei dro, yn cael ei gyflwyno fel enghraifft.
- aelodau - mae hyn yn y cod a'r data a gynhwysir yn y dosbarth;
- caeau neu newidynnau enghraifft - mae'r data hyn a elwir sy'n diffinio y dosbarth;
- swyddogaethau aelod - maent yn cynnwys y cod ei hun. swyddogaethau Aelodau - enw cyffredin. Mae achos arbennig - ddulliau.
Enghraifft amgįu benodol
Crynhoad (rhaglennu) enghraifft:
* Noder:
disgrifiad - disgrifiad o'r dull / eiddo / amrywiol, hy rhoi sylwadau ar yr hyn sy'n digwydd mewn gwirionedd yn y rhaglen. Mae'n cael ei dangos trwy agor tagiau / cau
gan ddefnyddio System;
OOPLibrary.Auto namespace
{
///
/// Bwriad y dosbarth yn disgrifio camau y car
///
Auto dosbarth cyhoeddus
{
///
/// newidynnau a grëwyd er mwyn ysgrifennu ynddo, faint o flynyddoedd y car, gan fod y ymyrraeth allanol yn y datblygwr eiddo yn ystyried ddiangen
/// addasydd ei farcio'n breifat, hy cau, mynediad preifat (gweler. Mae'r disgrifiad uchod).
///
_age int preifat;
///
/// Mae boolean (dim ond dau werthoedd posibl - ie neu nage), sy'n disgrifio a yw'r cerbyd yn symud ar hyn o bryd
/// Dylai hefyd fod yn agored i'r defnyddiwr terfynol, pwy bynnag yr oedd. Felly newidyn hwn, rhoddir addasydd mynediad preifat "prayvat"
///
_isMoving bool preifat;
///
/// Dylai'r newidyn llinyn cynnwys gwybodaeth am y lliw y car. Gellir ei newid gan ddylanwadau allanol
/// oherwydd i'r modifier lliw a ddewiswyd mynediad agored "cyhoeddus".
///
Lliw llinyn cyhoeddus;
///
/// Yn yr achos arbennig, rydym yn cymryd yn ganiataol bod enw'r car, hefyd, yn gallu cael ei newid
/// neilltuo addasydd o cyhoeddus (mynediad agored i bawb, waeth beth fo'u dosbarth neu ymgynnull).
///
Enw llinyn cyhoeddus;
///
/// Agor y Constructor dosbarth, a phob eiddo y newidyn a fynegwyd ac yn gosod ychydig yn gynharach, yn cael eu gwerthoedd
///
Auto cyhoeddus ()
{
_age = 5;
_isMoving = ffug;
Lliw = "Purple";
Name = "Skoda Octavia";
}
///
/// Mae'r dull yn sylweddoli gwerth dychwelyd yr oes auto. Pam mae hyn yn angenrheidiol?
/// Nid addasydd mynediad preifat yn ei gwneud yn bosibl ar gyfer y newidiadau cleient.
///
/// Dychwelyd oedran y car.
llinyn gyhoeddus GetAge ()
{
dychwelyd "Ar hyn o bryd, mae'r peiriant dewis" + _age + "o flynyddoedd.";
}
///
/// Os nad yw'r car yn symud, y dull hwn yn gweithredu dechrau'r symudiad. Gwiriadau oboznalsya amrywiol, cyflwr y cerbyd (teithio neu beidio), ac, yn dibynnu ar y canlyniadau, y camau / neges priodol yn cael ei arddangos.
///
ddi-rym cyhoeddus Start ()
{
os (_isMoving)
{
Console.WriteLine ( "Mae'r mudiad eisoes wedi'i ddechrau");
}
arall
{
_isMoving = wir;
Console.WriteLine ( "Ready, Set .. Ewch i ffwrdd!");
}
}
///
/// Os derbynnir y cynnig gychwynnwyd, mae'r dull hwn yn dod i ben ef. Mae'r un rhesymeg rhaglen fel yn yr achos blaenorol a ystyriwyd.
///
Stop ddi-rym cyhoeddus ()
{
os (_isMoving)
{
_isMoving = ffug;
Console.WriteLine ( "Stop Machine");
}
arall
{
Console.WriteLine ( ". Car Gwall ac felly aros yn llonydd, peidiwch â symud");
}
}
///
/// Gweithredwyd dro chwith, os oes cerbyd
///
MoveLeft ddi-rym cyhoeddus ()
{
os (_isMoving)
{
Console.WriteLine ( "trowch i'r chwith yn cael eu gwneud");
}
arall
{
Console.WriteLine ( ". Cerbyd Gwall Nid yw nodwedd cylchdro llonydd ar gael ar hyn o bryd.");
}
}
///
/// Dull tebyg gyda'r troi i'r dde
///
MoveRight ddi-rym cyhoeddus ()
{
os (_isMoving)
{
Console.WriteLine ( "Trowch i'r dde ar waith yn llwyddiannus");
}
arall
{
Console.WriteLine ( ". Gwall Mae'r car wedi symud o'r fan droi i'r dde ei fod yn ar hyn o bryd y camau, nid oes modd i berfformio ..");
}
}
}
}
Similar articles
Trending Now