Wat ass Abstraktioun an Encapsulation?
La Abstraktioun An de Kapselung Si sinn zwee wesentlech Konzepter am Programméiere objektorientéiert (POO). Béid déngen fir eise Code ze organiséieren an ze strukturéieren a fir méiglech Feeler oder Konflikter ze vermeiden.
Abstraktioun
La Abstraktioun ass de Prozess fir wesentlech Charakteristiken z'identifizéieren vun engem Objet an net wesentlech Fonctiounen ewechzehuelen. An OOP Programméierung erlaabt Abstraktioun eis eng Klass ze kreéieren ouni sech iwwer déi intern Detailer vu senger Ëmsetzung ze këmmeren.
Zum Beispill, wa mir e Rennspill kreéieren, kënne mir eng "Car" Klass erstellen déi Eegeschafte wéi "Speed" oder "Acceleration" huet, awer mir brauchen net ze wëssen wéi de Motor funktionnéiert oder wéi d'Kraaft un d'Kraaft iwwerdroe gëtt. Rieder.
Beispill:
Loosst eis e Code Beispill kucken dat d'Abstraktioun illustréiert:
Klass Auto { private int CurrentSpeed; privat Int Beschleunegung; ëffentlechen Auto () { currentSpeed = 0; Beschleunegung = 0; } public void accelerate(int increment) { acceleration += increment; } public void decelerate(int decrement) { acceleration -= decrement; } // Aner Eegeschaften a Methoden ... }
An dësem Beispill kreéiere mir eng Klass "Car" déi zwee Eegeschaften huet (aktuell Geschwindegkeet a Beschleunigung) an zwou Methoden (beschleunegen an bremsen). Wéi och ëmmer, mir brauchen net déi intern Detailer ze wëssen wéi den Auto sech beweegt, a mir kënne mat deem schaffen wéi wann et eng abstrakt Entitéit wier.
Encapsulation
La Kapselung, op der anerer Säit, ass de Prozess fir déi intern Detailer vun enger Klass ze verstoppen oder ze schützen an nëmmen Zougang duerch eng ëffentlech Interface z'erméiglechen. Dëst gëtt gemaach fir méiglech Konflikter oder Feeler ze vermeiden.
Zum Beispill, wa mir eng Klass "Persoun" mat Eegeschafte wéi "Alter" oder "Numm" hunn, wëlle mir suergen datt se net onbedéngt vun ausserhalb der Klass geännert kënne ginn. Fir dëst ze maachen, kënne mir dës Eegeschaften als privat setzen an ëffentlech Methoden erstellen fir se ze kréien, wéi "getAge ()" oder "setName ()".
Beispill:
Loosst eis e Code Beispill kucken dat d'Verkapselung illustréiert:
Klass Persoun { private int Alter; private String Numm; ëffentlech Persoun(int e, String n) { age = e; Numm = n; } public int getAge() { return age; } ëffentleche String getName() { return name; } public void setName(String n) {name = n; } // Aner Eegeschaften a Methoden ... }
An dësem Beispill kreéiere mir eng "Persoun" Klass mat zwou Eegeschaften (Alter an Numm) a verschidde Methoden fir se ze kréien (getAge, getName an setName). Awer dës Eegeschafte sinn nëmme vu bannent der Klass zougänglech, schützt se vu méigleche Feeler oder Konflikter.
Konklusioun
Kuerz gesot, de Abstraktioun An de Kapselung sinn zwee Schlësselkonzepter an objektorientéierter Programméierung. Abstraktioun erlaabt eis mat abstrakten Entitéiten ze schaffen ouni sech iwwer d'intern Detailer vun hirer Ëmsetzung ze këmmeren, während d'Verkapselung erlaabt eis déi intern Detailer vun enger Klass ze schützen an nëmmen Zougang duerch eng ëffentlech Interface z'erméiglechen.
Et ass essentiell dës Konzepter ze verstoen fir effektiv objektorientéiert Programmer ze designen an z'entwéckelen gutt strukturéiert.
Referenzen
- Aféierung an objektorientéiert Programméierungskonzepter - GeeksforGeeks
- Abstraktioun (Informatik) – Wikipedia
- Encapsulation (programméiere) – Wikipedia
Ech sinn de Sebastián Vidal, e Computeringenieur passionéiert iwwer Technologie an DIY. Ausserdeem sinn ech de Schëpfer vun tecnobits.com, wou ech Tutorials deelen fir Technologie méi zougänglech a verständlech fir jiddereen ze maachen.