Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvorfor Bruke Objektorientert Programmering? | Grunnleggende om OOP i C++
C++ OOP

Hvorfor Bruke Objektorientert Programmering?

Sveip for å vise menyen

Tenk deg at du får i oppgave å utvikle en programvareapplikasjon for å håndtere studentdata. Det kan virke enkelt i starten. Du kan begynne med å bruke enkle variabler for å lagre en students navn og GPA.

main.cpp

main.cpp

12345
int main() { std::string student_name = "Bob"; float grade_point_average = 3.3; }

Denne tilnærmingen fungerer fint for å håndtere en enkelt student, men det blir mer komplisert med flere studenter. En naiv løsning kan være å bruke separate variabler for hver enkelt, men dette blir raskt uhåndterlig. Å bruke arrayer er et bedre alternativ for å redusere gjentakelse og forbedre organisering.

main.cpp

main.cpp

12345
int main() { std::string names[2] { "Bob", "Ann" }; float avarage_grades[2] { 3.3, 3.7 }; }

Dette fungerer for øyeblikket. Men hva om du trenger å lagre flere detaljer, som telefonnumre, innskrivningsdatoer eller kurslister? Etter hvert som datamengden øker, blir det å håndtere flere separate arrayer både tungvint og feilutsatt.

main.cpp

main.cpp

123456
int main() { std::string names[2] { "Bob", "Ann" }; float average_grades[2] { 3.3f, 3.7f }; std::string emails[2] { "bob@example.com", "ann@example.com" }; }

For å håndtere disse dataene kan du lage funksjoner som tar disse verdiene som argumenter for å utføre handlinger som å skrive ut studentinformasjon, oppdatere GPA eller endre e-postadresse. Men med flere studenter og felt ender du opp med å gjenta de samme argumentene i mange funksjoner, noe som gjør koden feilutsatt og vanskelig å vedlikeholde.

functions.h

functions.h

123456
void get_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_name(int id, std::string names[], float gpa[], std::string emails[]); void set_student_gpa(int id, std::string names[], float gpa[], std::string emails[]); void set_student_email(int id, std::string names[], float gpa[], std::string emails[]);

Selv enkle oppgaver krever at de samme arrayene sendes gjentatte ganger. Når du legger til flere felt, blir koden stadig mer kompleks og repeterende.

Objektorientert programmering (OOP) løser dette ved å la deg gruppere relatert data og oppførsel i en enkelt beholder kalt en klasse. Dette gjør ikke bare koden enklere, men forbedrer også innkapsling ved å kontrollere tilgang til interne detaljer gjennom tydelige, veldefinerte grensesnitt.

question mark

Hva er den viktigste fordelen med å bruke objektorientert programmering?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 2
some-alt