Dator skapade forskarna C + + , ett system programmeringsspråk , som en förlängning av den ursprungliga C-språket utvecklades på 1970-talet . Medan C + + innehåller all funktionalitet ot C , tillägger det objektorienterade funktioner till dess syntax och bibliotek . På grund av detta , kan C + + programmerare dra nytta av objektorienterade paradigm, innefattande data abstraktion. För att förstå vad dataabstraktion är , måste programmeraren förstå hur C + + klasser och objekt arbete, och vikten av att skydda känsliga uppgifter från manipulation . Datatyper
C + + , liksom i många andra språk , programmerare deal med variabler som innehåller vissa typer av data . Dessa typer av data som kan vara allt från olika former av decimala och icke -decimal nummer, till tecken och meningar. I C + + , måste programmeraren ange vilken typ av data som en variabel håller . Till exempel måste en variabel " x " som kommer att hålla ett heltal deklareras som ett heltal variabel , med " int " nyckelordet . Men eftersom C + + fungerar i ett objektorienterat sätt , kan programmerare skapa sina egna datatyper . Programmer - skapade datatyper kallas "objekt ", och kan representera allt från listor till former för nätverksanslutningar .
Klasser
För att skapa ett objekt , måste en programmerare först definiera hur den datatypen fungerar . Hon gör detta genom att definiera en " klass " . Klassen talar om för datorn vilken typ av data som objektet innehåller . Till exempel , följande kod definieras en " Cirkel " objekt , som kommer att innehålla information om dess radie ( R ) :
class Circle {public : int r = 0 , //heltal " R " representerar radie };
nu, när en användare vill använda ett objekt för att representera en cirkel , kan hon förklara ett syfte med "Circle " datatyp, sålunda:
c.
Circle , //" Circle " är datatypen
Arv
programmeraren kan också definiera klassen Circle för att beräkna avståndet , genom att lägga till en medlem funktion . Denna medlem Funktionen kan utföra en uppgift på grundval av data inom ett objekt , och returnera ett resultat . I följande exempel utökar klassen Circle genom att lägga till en funktion " getArea ( ) " som returnerar ett närmevärde för cirkelns area :
class Circle {
int r = 0 ;
float getArea ( ) {return r * r * 3.14 ;} };
Circle c = new Circle ( ) ; sp = 1 ; cout << c.getArea ( ) ; //skriver " 3.14 " till skärmen
dataabstraktion
Circle klass representerar en abstrakt datatyp ( ADT ) , som i sin tur representerar ett verkligt objekt i den verkliga världen - såsom en cirkel eller boll. Däremot behöver användaren inte veta hur den här klassen fungerar för att kunna använda den , bara att det gör något . Den " getArea ( ) " -funktion är ett bra exempel på detta : en användare av klassen kan använda getArea ( ) funktionen utan att behöva lära sig hur den fungerar , bara vilka insatsvaror som krävs och vad matar att förvänta . Detta är dataabstraktion , och det är viktigt eftersom det gör att programmerare att använda objekt utan att veta deras interna struktur , vilket gör det lättare för dem att bygga mer komplicerad kod från redan befintliga klasser .