Wat is abstractie in OOP?
Abstractie is het concept van objectgeoriënteerd programmeren dat alleen essentiële attributen "toont" en onnodige informatie "verbergt". Het belangrijkste doel van abstractie is het verbergen van onnodige details voor de gebruikers. Abstractie is het selecteren van gegevens uit een grotere pool om alleen relevante details van het object aan de gebruiker te tonen. Het helpt bij het verminderen van de complexiteit en inspanningen van het programmeren. Het is een van de belangrijkste concepten van OOP's.
Klik hier als de video niet toegankelijk is
Laten we abstractie in OOP's bestuderen met een voorbeeld:
Stel dat u een bankapplicatie wilt maken en u wordt gevraagd om alle informatie over uw klant te verzamelen. De kans is groot dat u de volgende informatie over de klant krijgt
Maar niet alle bovenstaande informatie is vereist om een bankapplicatie te maken.
U hoeft dus alleen de nuttige informatie voor uw banktoepassing uit die pool te selecteren. Gegevens zoals naam, adres, belastinginformatie, enz. Zijn logisch voor een banktoepassing die een abstractievoorbeeld is in OOP's
Omdat we de klantinformatie uit een grotere pool hebben opgehaald / verwijderd / geselecteerd, wordt het proces in OOP's abstractie genoemd.
Als dezelfde informatie eenmaal is geëxtraheerd, kan deze echter voor een breed scala aan toepassingen worden gebruikt. U kunt dezelfde gegevens bijvoorbeeld gebruiken voor een ziekenhuisapplicatie, sollicitatieportaal, een overheidsdatabase, enz. Met weinig of geen aanpassingen. Daarom worden het uw stamgegevens. Dit is een voordeel van abstractie in OOP's.
Verschil tussen abstractie en inkapseling
Abstractie | Inkapseling |
Abstraction in Object Oriented Programming lost de problemen op ontwerpniveau op. | Inkapseling lost het implementatieniveau op. |
Abstractie bij programmeren gaat over het verbergen van ongewenste details terwijl de meest essentiële informatie wordt weergegeven. | Inkapseling betekent het binden van de code en gegevens in een enkele eenheid. |
Data-abstractie in Java maakt het mogelijk om te focussen op wat het informatieobject moet bevatten | Inkapseling betekent het verbergen van de interne details of mechanica van hoe een object iets doet om veiligheidsredenen. |
Verschil tussen abstracte klasse en interface
Abstracte klasse | Koppel |
Een abstracte klasse kan zowel abstracte als niet-abstracte methoden hebben. | De interface kan alleen abstracte methoden hebben. |
Het ondersteunt geen meerdere overervingen. | Het ondersteunt meerdere overervingen. |
Het kan de implementatie van de interface verzorgen. | Het kan de implementatie van de abstracte klasse niet bieden. |
Een abstracte klasse kan beschermde en abstracte openbare methoden hebben. | Een interface kan alleen openbare abstracte methoden hebben. |
Een abstracte klasse kan een definitieve, statische of statische laatste variabele hebben met elke toegangsspecificatie. | De interface kan alleen een openbare statische laatste variabele hebben. |
Wat is abstracte klasse?
Abstracte klasse is een type klasse in OOP's dat een of meer abstracte methoden declareert. Deze klassen kunnen zowel abstracte als concrete methoden hebben. Een normale klasse kan geen abstracte methoden hebben. Een abstracte klasse is een klasse die ten minste één abstracte methode bevat.
Wat zijn abstracte methoden?
Abstracte methode is een methode die alleen de methode-definitie heeft, maar geen implementatie bevat. Een methode zonder lichaam staat bekend als een abstracte methode. Het moet in een abstracte klasse worden gedeclareerd. De abstracte methode zal nooit definitief zijn omdat de abstracte klasse alle abstracte methoden moet implementeren.
Voordelen van abstractie
- Het belangrijkste voordeel van het gebruik van een abstractie bij het programmeren is dat u hiermee verschillende gerelateerde klassen kunt groeperen als broers en zussen.
- Abstractie in objectgeoriënteerd programmeren helpt de complexiteit van het ontwerp- en implementatieproces van software te verminderen.
Wanneer abstracte methoden en abstracte klasse gebruiken?
Abstracte methoden worden meestal gedeclareerd waar twee of meer subklassen ook hetzelfde doen op verschillende manieren door middel van verschillende implementaties. Het breidt ook dezelfde klasse Abstract uit en biedt verschillende implementaties van de abstracte methoden.
Abstracte klassen helpen bij het beschrijven van generieke soorten gedrag en de objectgeoriënteerde hiërarchie van programmeerklassen. Het beschrijft ook subklassen om implementatiedetails van de abstracte klasse te bieden.
Overzicht:
- Abstractie bij programmeren is het proces van het selecteren van belangrijke gegevenssets voor een object in uw software en het weglaten van de onbeduidende.
- Nadat u uw object hebt gemodelleerd met behulp van Data Abstraction in Java, kan dezelfde set gegevens in verschillende toepassingen worden gebruikt.