Computer wetenschappers gecreëerd C + + , een systeem programmeertaal , zoals een uitbreiding van de oorspronkelijke C taal ontwikkeld in de jaren 1970 . Terwijl C + + bevat alle functionaliteit ot C , voegt het object-georiënteerde mogelijkheden om de syntax en bibliotheken . Hierdoor kan C + + programmeurs profiteren van object - georiënteerde paradigma , waaronder gegevensabstractie . Om te begrijpen wat data abstractie is , moet de programmeur begrijpen hoe C + + klassen en objecten werken , en het belang van de bescherming van gevoelige gegevens tegen manipulatie . Data Types In C + + , zoals in veel andere talen , programmeurs omgaan met variabelen die bepaalde soorten gegevens . Deze soorten data kunnen variëren van verschillende vormen van decimale non - decimale getallen , Tekens en zinnen . In C + + , moet de programmeur aangeven welk type gegevens een variabele zal houden . Bijvoorbeeld , moet een variabele " x " dat een integer zal houden worden verklaard als een integer variabele , met behulp van de " int " keyword . Omdat C + + werken in een object - georiënteerde wijze kunnen programmeurs hun types gegevens. Programmer - geschapen datatypes worden " objecten " en kan variëren van lijsten te vormen om netwerkverbindingen te vertegenwoordigen . Klassen Om een object te maken , een programmeur moet aangeven, hoe dat datatype werkt . Zij doet dit door het definiëren van een "klasse" . De klasse vertelt de computer wat voor soort gegevens het voorwerp zal bevatten . Bijvoorbeeld , de volgende code definieert een "Circle " object, dat informatie over zijn straal ( r ) zal bevatten : class Rond, {public : int r = 0 ; //integer " r " staat voor de radius } ; Nu , wanneer een gebruiker wil een object gebruiken om een cirkel te vertegenwoordigen , ze kan een object van de "Circle " datatype verklaren , thusly : cirkel c ; //"Circle " is het datatype Inheritance de programmeur kan ook de Circle klasse te definiëren om straal te berekenen , door het toevoegen van een lid functie . Dit lid functie kan een taak op basis van gegevens binnen een object uit te voeren , en een resultaat te retourneren . In het volgende voorbeeld breidt de klasse Circle door het toevoegen van een functie " methode getArea ( ) " dat een decimale benadering van de oppervlakte van de cirkel terug : class Cirkel { int r = 0 ; float methode getArea ( ) op {return r * r * 3,14 ;} } ; Rond, c = new Circle ( ) ; cr = 1 ; cout << c.getArea ( ) ; //print " 3.14 " op het scherm gegevens Abstractie The Circle klasse vertegenwoordigt een abstract data type ( ADT ) , die op zijn beurt vertegenwoordigt een echt object in de echte wereld - bijvoorbeeld een cirkel of bal. Echter , hoeft de gebruiker niet hoeft te weten hoe deze klasse werkt om het te gebruiken , alleen dat het iets doet . De " methode getArea ( ) " functie is een goed voorbeeld van : een gebruiker van de klasse kan de methode getArea ( ) -functie te gebruiken zonder dat de werking ervan te leren , alleen welke inputs nodig zijn en welke uitgangen te verwachten . Dit is data abstractie , en het is belangrijk omdat het laat programmeurs om objecten te gebruiken zonder het te weten hun interne structuur , waardoor het makkelijker voor hen om meer ingewikkelde code bouwen van al - bestaande klassen .
|