Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ なぜオブジェクト指向プログラミングを使用するのか? | イントロダクション
C++のクラスとオブジェクト

bookなぜオブジェクト指向プログラミングを使用するのか?

メニューを表示するにはスワイプしてください

学生データを管理するソフトウェアアプリケーションの開発を任されたと想像してください。最初は簡単そうに思えるかもしれません。まず、学生の名前GPAを保存するためにシンプルな変数を使うことから始めるでしょう。

main.cpp

main.cpp

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

この方法は1人の学生を管理する場合には問題ありませんが、複数の学生を扱うと状況はより複雑になります。単純な解決策としては、それぞれの学生ごとに別々の変数を使うことが考えられますが、すぐに管理が困難になります。配列を使うことで、繰り返しを減らし、整理を向上させることができます。

main.cpp

main.cpp

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

これは現時点では機能します。しかし、電話番号入学日コースリストなど、さらに多くの詳細を保存する必要がある場合はどうでしょうか。データが増えるにつれて、複数の個別の配列を管理するのは面倒であり、エラーが発生しやすくなります。

main.cpp

main.cpp

copy
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" }; }

このデータを管理するために、関数を作成し、これらの値を引数として受け取り、学生情報の表示、GPAの更新、メールアドレスの変更などの処理を行うことが考えられます。しかし、複数の学生やフィールドがある場合、同じ引数を多くの関数で繰り返し使用することになり、コードがエラーを起こしやすく保守が困難になります。

functions.h

functions.h

copy
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[]);

簡単な作業でも、同じ配列を繰り返し渡す必要があります。フィールドが増えるにつれて、コードはますます複雑かつ冗長になります。

オブジェクト指向プログラミング(OOP)は、関連するデータ振る舞いクラスと呼ばれる1つのコンテナにまとめることで、これを解決します。これにより、コードが簡潔になり、明確で定義されたインターフェースを通じて内部の詳細へのアクセスを制御することで、カプセル化も向上します。

question mark

次のうち、オブジェクト指向プログラミングを使用する主な利点はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  2
some-alt