Kursusindhold
C++ OOP
C++ OOP
Hvorfor Bruge Objektorienteret Programmering?
Forestil dig, at du får til opgave at udvikle en softwareapplikation til at håndtere studedata. Det kan umiddelbart virke ligetil. Du kunne begynde med at bruge simple variabler til at gemme en studerendes navn og GPA.
main.cpp
int main() { std::string student_name = "Bob"; float grade_point_average = 3.3; }
Denne tilgang fungerer fint til at håndtere en enkelt studerende, men det bliver mere komplekst med flere studerende. En naiv løsning kunne være at bruge separate variabler for hver enkelt, men dette bliver hurtigt uhåndterbart. Brug af arrays er en bedre mulighed for at reducere gentagelse og forbedre organisering.
main.cpp
int main() { std::string names[2] { "Bob", "Ann" }; float avarage_grades[2] { 3.3, 3.7 }; }
Dette fungerer for nu. Men hvad hvis du skal gemme flere oplysninger, såsom telefonnumre, tilmeldingsdatoer eller kursuslister? Efterhånden som dataene vokser, bliver det at håndtere flere separate arrays både besværligt og fejlfølsomt.
main.cpp
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 at håndtere disse data kan du oprette funktioner, der tager disse værdier som argumenter for at udføre handlinger som at udskrive studenterinformation, opdatere GPA eller ændre e-mailadressen. Men med flere studerende og felter ender du med at gentage de samme argumenter på tværs af mange funktioner, hvilket gør koden fejlbehæftet og svær at vedligeholde.
functions.h
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 opgaver kræver, at det samme sæt arrays videregives gentagne gange. Når du tilføjer flere felter, bliver koden mere og mere kompleks og gentagende.
Objektorienteret programmering (OOP) løser dette ved at lade dig gruppere relaterede data og adfærd i en enkelt container kaldet en klasse. Dette forenkler ikke kun din kode, men forbedrer også indkapsling ved at kontrollere adgangen til interne detaljer gennem klare, veldefinerede grænseflader.
Tak for dine kommentarer!