RačunalaProgramiranje

Inkapsulacija - šta je ovo? Inkapsulacija u programiranju

Inkapsulacija - ovo je jedna od tri glavne karakteristike objektno orijentisano programiranje (OOP). Druga dva - polimorfizam i nasljedstva. Zajedno oni čine PLO okvir koji propisuje niz mogućnosti za pisanje programa na različitim jezicima, koristeći ova tri principa. Objektno orijentisani jezici, pak, dužni su da ih strogo slijediti.

OOP Osnove

Objektno-orijentirano programiranje na tri stuba njegovog nastanka:

  • Polimorfizam, odgovarajući na pitanje o tome kako određeni programski jezik se bavi objektima koji imaju veze jedni s drugima, na sličan način.
  • Nasljedstva, dajući odgovor, kako je stimulacija upotreba višekratnih koda.
  • Inkapsulacija, što je odgovor na pitanje krije implementacije odvija, a time i integritet podataka.

terminologija

Inkapsulacija (programiranje) - je da se koristi pristup modifikatora kako bi prikrio komade koda od krajnjeg korisnika. Ispod njega, s druge strane, znači da programer ili kulturne baštine.

Suština koncepta "inkapsulacije"

Definicija precizira da inkapsulacijom značilo krije sve ili dio programskog koda. Suština koncepta "inkapsulacionih" je da manipulišu pristup modifikatora. To znači da investitor može odlučiti koja svojstva, metode, a nastava će biti otvorena za klijenta-klase, i što - su skriveni.

pristup modifikatori

Postoje pristup modifikatori, koji je, između ostalog, je u stanju manipulyarivat inkapsulacija (Java programiranje):

  • javnost ( "Public" - javna, otvorenog pristupa) - udio kako trenutne klase i objekte, a prema vanjskom svijetu;
  • privatna ( "prayvat" - privatno, privatno, skriveni pristup) - zatvoren pristup, suština koja je potpuno suprotno od prethodnog. To omogućava pristup samo iz trenutne klase;
  • zaštićeni ( "protekted" - zaštićen, pola skriven pristup) - Pristup trenutne klase i njegovi derivati;
  • default - bez specifikacije modifikator pristupa znači da polje / metoda može se vidjeti za sve trenutne klase u paketu.

U C # jeziku ( "Si Sharp"), pored gore (osim poslednje), još uvijek postoje modifikator:

  • interni ( "interni" - interni pristup) - dostupnost u tekućoj skupštini, zatvoreni pristup svim drugim slučajevima;
  • interni zaštićeni ( "interni protekted" - interni Protected Access) - ujedinjenja dva modifikatora u jednoj u kojoj ispoljavaju svojstva oboje.

Uloga inkapsulacija

mehanizam inkapsulacija eliminira spoljni uticaj na kod i zloupotrebe podataka ugrađen u njega. Ovo se postiže kombinacijom kod i podatke u jedan.

Objekt i inkapsulacija

Kombinirajući implementacija softverskog modula i podataka ugrađen u kodu, programiranje se zove objekt. Suština njena veza sa inkapsulacija je da takva metoda omogućava da se održi i osigura integritet rad mehanizma.

Prednost inkapsulacija

Inkapsulacija - način da se pojednostavi proces kodiranja. Brojne linija koda su "iza scene", a na glavnom radu na času će prigovor instance.

Ideja o zaštiti podataka

Inkapsulacija - to je i mehanizam koji ostvaruje ideja o zaštiti podataka. Programska logika objektno-orijentirano programiranje je izgrađen na osnovu onoga što većina podataka će biti skrivena modifikator pristup privatnim (privatni, privatni) ili zaštićene (zaštićen). Vanjskim svijetom, kupac slučajno ili namjerno neće oštetiti implementacija softverskog modula. Jer, u stvari, to ga čini vrlo lako ni namjerno, inkapsulacija - ovo je vrlo dobar princip.

inkapsulacija jedinica

Klase, kao osnovna jedinica inkapsulacionih i opisuje podataka sadrži kod, koji je u stanju da radi na ovim podacima. On je i osnova za izgradnju objekta. Potonji, s druge strane, je predstavljen kao primjer.

Također se koristi sljedeće terminologiju:

  • članova - to je koda i podataka sadržanih u klasi;
  • polja ili primjer varijable - tzv podataka koji definira klase;
  • funkcije članice - oni sadrže samog koda. funkcije članice - zajednički naziv. Poseban slučaj - metode.

Inkapsulacija specifičan primjer

Inkapsulacija (programiranje) primjer:

* Napomena:

opis - opis metoda / nekretnina / varijabla, tj komentirajući ono što se zapravo događa u programu. To se pokazalo kroz otvaranje / zatvaranje tagove

using System;

namespace OOPLibrary.Auto

{

///

/// Ova klasa je opisuju akciju automobila

///

public class Auto

{

///

/// varijable stvoren kako bi se pišu u njemu, koliko je godina auto, jer je vanjski miješanje u imovinu developer smatra suvišnim

/// modifikator je označen privatnim, i.e. zatvoren, privatni pristup (vidi. Opis gore).

///

privatne Int _age;

///

/// Boolean (samo dvije moguće vrijednosti - da ili ne), koji opisuje da li se vozilo kreće u ovom trenutku

/// To bi trebalo da bude otvoren za krajnjeg korisnika, ko god on bio. Stoga ova varijabla je dodijeljen modifikator privatni pristup "prayvat"

///

privatne bool _isMoving;

///

/// Ova varijabla string treba da sadrži informacije o boji automobila. To se može promijeniti vanjske utjecaje

/// jer za modifikator boju izabrane otvorenog pristupa "javnosti".

///

public String Boja;

///

/// U ovom konkretnom slučaju, pretpostavljamo da je ime ovog automobila, takođe, može se mijenjati

/// dodijeljen modifikator javnosti (otvorenog pristupa za sve, bez obzira na klase ili skupštine).

///

public String ime;

///

/// Otvara konstruktor klase, i sva svojstva izražene varijabla i postaviti malo ranije, da njihove vrijednosti

///

javne Auto ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Škoda Octavia";

}

///

/// Metoda ostvaruje vrijednost povratak auto doba. Zašto je to potrebno?

/// privatni pristup modifikator ne znači da je moguće da se promjene klijenta.

///

/// Vraća starost automobila.

public String GetAge ()

{

vratiti "U ovom trenutku, odabrani stroj" + _age + "godina.";

}

///

/// Ako se vozilo ne kreće, ova metoda primjenjuje početak pokreta. Provjere varijabla oboznalsya, stanje vozila (putovanje ili ne), a ovisno o rezultatima, odgovarajuće akcije / poruka.

///

public void start ()

{

if (_isMoving)

{

Console.WriteLine ( "Pokret je već počela");

}

drugo

{

_isMoving = true;

Console.WriteLine ( "Priprema, pozor .. Go off!");

}

}

///

/// Ako je pokrenut prijedlog, ova metoda mu prestaje. Isti program logika kao u prethodnom slučaju uzeti u obzir.

///

public void Stop ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

drugo

{

Console.WriteLine ( ". Greška automobil i tako stoji i dalje, ne mrdaj");

}

}

///

/// Implementirana lijevo skretanje, ako postoji vozilo

///

public void MoveLeft ()

{

if (_isMoving)

{

Console.WriteLine ( "lijevo se rade");

}

drugo

{

Console.WriteLine ( ". Vozilo Greška je stacionarna rotacije funkcija trenutno nije dostupan.");

}

}

///

/// Sličan metod sa desno

///

public void MoveRight ()

{

if (_isMoving)

{

Console.WriteLine ( "Skrenite desno je uspješno realizovan");

}

drugo

{

Console.WriteLine ( ". Error Automobil nije preselio iz spot pravo Da ga je u trenutku akcije, to je nemoguće izvesti ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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