三次大作業の振り返りと実装ノウハウ

最初に、問題クラス(Ques)、試験クラス(Test)、解答カードクラス(anscard)、学生クラス(Student)を定義しました。 Ques: num(番号), ques(問題文), ans(正解), pd(正誤判定), fen1(配点), fen2(得点), y(状態) Test: num2(試験番号), List<Ques>l(問題リスト), sum(総得点) anscard: num3(試験番号), man(学籍番号), List<Ques>card(解答リスト) Student: nam ...

10月22日 22:27 投稿

C++におけるinlineキーワードの役割と実装パターン

C言語マクロとの決別 従来、C言語では高頻度に呼び出される処理を式形式のマクロ(#define)で実装することが一般的であった。これはプリプロセッサによる文字列置換を実行時に行うため、関数呼び出しに必要な引数のスタック積上げやジャンプ命令などのランタイムオーバーヘッドが回避できる点に理由がある。しかし、マクロには構造化プログラミングにおいて重大な制限が残 ...

10月18日 17:38 投稿

Javaにおける可変長引数とオブジェクト指向プログラミングの基礎概念

可変長引数による不定数パラメータの処理 メソッドに渡される引数の数が事前に不明な場合、Javaでは可変長引数(Varargs)を利用します。可変長引数は内部で配列として扱われ、メソッドの仮引数リストの最後に配置する必要があります。 public class MathUtil { // 可変長引数を使用した平均値の計算 public static double calculateAverage(double... numbers) { ...

9月27日 16:28 投稿

SOLID設計原則の六大原則を徹底解説

2.1 単一責任原則(Single Responsibility Principle) クラスやメソッドは1つの責任しか持たないべきです。以下の例ではユーザー登録処理を実装しています。 違反例: public class UserRegistrationController { @RequestMapping("/register") public String registerUser(String name, String pass) { if (name == null || pass == null) return "erro ...

8月7日 03:37 投稿

Pythonオブジェクト指向演習:ECプラットフォーム設計と注文管理システム

演習1:ECプラットフォームの商品クラス設計 ECプラットフォームを開発していると仮定し、商品情報を表す親クラス(Product)と、それぞれ書籍と衣類商品を表す2つの子クラス(Book、Clothing)を設計する必要があります。オブジェクト指向の思想とポリモーフィズムを使用して、これら3つのクラスを設計および実装してください。 要件: 親クラス(Product)は以下の属性 ...

7月23日 17:37 投稿

Python多重継承における特定の親クラスメソッドの呼び出し方法

多重継承の基本理解 多重継承の定義と特性 Pythonでは、クラスが複数の親クラスから属性やメソッドを継承する多重継承をサポートしています。同名メソッドが複数の親クラスに存在する場合、どのメソッドが呼び出されるかは継承順序によって決定されます。 class FirstClass: def display(self): print("FirstClassの表示") class SecondClass: def disp ...

6月1日 22:29 投稿

C++での日付クラスの実装(メモ)

これまでにC++のクラスとオブジェクトの基本を学び、日付クラスの一部を例として使用しました。この記事では、小さな日付クラスを実装します。 まず、VSで3つのファイルを作成します: Test.cpp:日付クラスのテスト用ファイル 日常生活では、日付に対して整数日を加算または減算できます。例えば、2004年2月1日に3日を加えると、2004年2月4日になります。同様に減算も可能 ...

5月16日 03:19 投稿