Kursinnehåll
C++ OOP
C++ OOP
Varför Använda Objektorienterad Programmering?
Föreställ dig att du får i uppgift att utveckla en mjukvaruapplikation för att hantera studentdata. Det kan verka enkelt till en början. Du kanske börjar med att använda enkla variabler för att lagra en students namn och GPA.
main.cpp
int main() { std::string student_name = "Bob"; float grade_point_average = 3.3; }
Denna metod fungerar bra för att hantera en enskild student, men det blir mer komplext med flera studenter. En naiv lösning kan vara att använda separata variabler för varje, men detta blir snabbt ohanterligt. Att använda arrayer är ett bättre alternativ för att minska upprepning och förbättra organisationen.
main.cpp
int main() { std::string names[2] { "Bob", "Ann" }; float avarage_grades[2] { 3.3, 3.7 }; }
Detta fungerar för tillfället. Men vad händer om du behöver lagra fler detaljer, såsom telefonnummer, registreringsdatum eller kurslistor? När datamängden ökar blir hanteringen av flera separata arrayer både omständlig och felbenägen.
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" }; }
För att hantera dessa data kan du skapa funktioner som tar dessa värden som argument för att utföra åtgärder som att skriva ut studentinformation, uppdatera GPA eller ändra e-postadress. Men med flera studenter och fält upprepar du samma argument i många funktioner, vilket gör koden felbenägen och svår att underhålla.
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[]);
Även enkla uppgifter kräver att samma uppsättning arrayer skickas om och om igen. När du lägger till fler fält blir koden alltmer komplex och upprepande.
Objektorienterad programmering (OOP) löser detta genom att låta dig gruppera relaterad data och beteende i en enda behållare kallad en klass. Detta förenklar inte bara din kod, utan förbättrar även inkapsling genom att kontrollera åtkomst till interna detaljer via tydliga, väldefinierade gränssnitt.
Tack för dina kommentarer!