Oversigt over indkapsling i Python

Indkapsling er en af ​​de fire grundlæggende begreber inden for objektorienteret programmering. Når der er et krav om at gruppere data, og de efterfølgende underprogrammer, der samarbejder og fungerer ét sted sammen med behovet for at skjule de komplekse detaljer for brugeren, bruger vi indkapsling til at forstå 'Indkapsling i Python', vi er nødt til at dykke dybt og forstå hvordan Indkapsling kommer ind i billedet på et programmeringssprog. Indkapsling hjælper med at begrænse adgangen til metoder og variabler. Forebyggelse af utilsigtet datamodifikation, og dette opnås ved at bruge de ikke-offentlige forekomstvariabler og ikke-offentlige forekomstvariabler. Klassen indkapsler metoder og variabler.

Navn Mangling i Python

Python indebærer en begrænsning af adgangen til data. Der er ingen eksplicit adgangsmodifikatorer, men adgangen kan kontrolleres via Name Mangling i Python. Som standard er alle metoder og variabler offentlige i Python. Så hvis en identifikator har to førende understregninger, bliver det en ikke-offentlig instans i Python. Vi vil her specificere variabler og metoder til ikke-offentlige instanser for bedre at forstå indkapsling. Omfanget af ikke-offentlig forekomstmetode er kun inden for sin egen klasse, og den starter med en understregning eller to understregninger, dvs. enkelt “_” eller “__” dobbelt før en variabel eller en metode. Omfanget af en ikke-offentlig forekomstvariabel er også i sin egen klasse eller ved den metode, hvori den er defineret, og den starter også med to understreg. Hvis vi tilfældigvis går glip af de to understreg, betragtes denne metode som en offentlig metode. Før vi forstår Indkapsling i Python, er vi nødt til at forstå, hvordan offentlige og ikke-offentlige forekomstvariabler og -metoder fungerer.

Ikke-offentlige forekomstvariabler

I Python er der ikke noget udtryk som "privat", da ingen attribut virkelig er privat i Python (Vi vil diskutere det underliggende alternativ senere i artiklen). I stedet for refererer vi dem til ikke-offentlig forekomstvariabel. Sådan henviser vi til de private variabler og private metoder.

Her er et lille uddrag af koden i python til ikke-offentlige instansvariabler:

Vi bruger selvnøgleordet, fordi vi får adgang til klassevariablen. Outputet er:

For at hente en bekræftelse på omfanget af den ikke-offentlige instansvariabel tilføjer vi udskriften (abc .__ a) til koden:

Og det returnerede output er:

Således ser vi, at vi ikke kan bruge ikke-offentlige instansvariabler uden for klassen.

Metoder til ikke-offentlig forekomst

En ikke-offentlig instansfunktion kan ikke kaldes til objektet direkte, men kun inden for klassen.

I dette kodestykket har vi to metoder, en ikke-offentlig instans og en anden offentlig metode. Den offentlige metode kaldes let ved at oprette et objekt fra klassen abc og derefter udskrives dens output.

Når man prøver en lignende tilgang til metoden som ikke er offentlig instans, står vi over for følgende fejl:

Dette program producerer følgende output:

Derfor er det ikke muligt at få adgang til en ikke-offentlig instansmetode ved objektskabelse. For at få adgang til den ikke-offentlige instansmetode kan vi kalde metoden __show1 () fra show2 () -metoden i samme klasse. Sådan kan vi vise den ikke-offentlige instansmetode fra den offentlige metode i samme klasse.

Produktion:

Den ikke-offentlige instansmetode kan således ikke kaldes uden for sin klasse.

Den indirekte måde at få adgang til variablen til ikke-offentlige instanser på

Af legitime grunde kan ikke-offentlige instansvariabler ikke nås ud over klassen, men der er en indirekte måde at ændre værdien af ​​den ikke-offentlige instansvariabel og adgang ved hjælp af objekter. Vi skal kigge på nedenstående kodestykket:

Produktion:

I ovenstående program har vi offentlige metoder getNumber (self, num) og displayNumber () og en ikke-offentlig instansvariabel. Når vi kalder den første metode, tildeler vi værdien til den ikke-offentlige instansvariabel, og den kaldes i displayNumber () -metoden.

Sætermetoden bruges til at indstille værdien af ​​den ikke-offentlige instansvariabel. Dette er nyttigt i scenarierne, når du måske ønsker at ændre værdien af ​​en ikke-offentlig forekomstvariabel efter oprettelsen af ​​objekter til en bestemt variabel.

Fordele ved indkapsling i Python

Indkapsling hjælper med at etablere en bedre strømning af data og også beskyttelsen af ​​dataene. Begrebet indkapsling gør koden selvforsynende. Indkapsling giver en stor hjælp på implementeringsniveau, da den primært fokuserer på spørgsmålet “hvordan” efterlader komplekset “når / hvor” og dets kompleksiteter bag sig. At gemme dataene i en enhed gør indkapslingen lettere og sikrer også dataene.

Hvorfor har vi brug for Indkapsling i Python?

Nedenfor er adskillige anførte årsager til, at udviklere finder konceptet med indkapsling praktisk, og hvorfor de objektorienterede koncepter hersker i de fleste af de programmeringssprog, der kører i det nuværende scenarie.

  • Der er behov for veldefineret interaktion i enhver applikation, indkapslinger hjælper med at opnå det.
  • Begrebet Objektorienteringsprogrammering i python fokuserer på at fremstille genanvendelig kode. Dette er også forkortet som TØRR (Gentag ikke dig selv).
  • Vedligeholdelse af applikationen er lettere, og der er sikkerhed sikret.
  • Klarheden i kodningsproceduren som udviklere skal vedrøre klassens mål, og kompleksiteterne behandles systematisk.
  • Korrekt organisering af koderne hjælper med fleksibiliteten i koden og hjælper også med enhedstestning.
  • Brugere finder det let at bruge systemet, da de er skjult væk fra det komplekse design involveret i backend.
  • At have alle lignende data et sted og indkapslet øger samhørigheden inde i et modul.
  • Forbedrer kodernes læsbarhed, og ændringer i en del af koden forstyrrer ikke andre dele af koden.
  • Indkapsling forhindrer adgang til en del af koden ved et uheld, men ikke med vilje, da objekter indeholder kritiske data til applikationer, og den skal ændres hvor som helst i koden.

Konklusion - Indkapsling i Python

På enklere vilkår Indkapsling i Python betyder, at den interne repræsentation af et objekt generelt er skjult for visningen uden for objektets definition. Dette hjælper udvikleren med at udvikle en brugervenlig oplevelse for slutbrugeren, og der er beskyttelse mod et sikkerhedsbrud, da koderne er gjort sikre.

Anbefalede artikler

Dette er en guide til Indkapsling i Python. Her diskuterer vi behovene for indkapsling i python sammen med dets ikke-offentlige forekomstvariabler og forekomstmetoder. Du kan også se på de følgende artikler for at lære mere -

  1. Hvad er Python
  2. Er Python-objektorienteret
  3. Mønstre i Python
  4. Sådan bruges indkapsling i C ++?
  5. Indkapsling i Java | eksempler
  6. Indkapsling i C (Arbejde, eksempler)
  7. Introduktion til indkapsling i JavaScript

Kategori: