小テスト:オブジェクト指向の原則の適用

Quiz

Beginner

+60 XP

15m

Unity Technologies

小テスト:オブジェクト指向の原則の適用 thumbnail

この小テストでは、「Junior Programmer: Apply object-oriented principles」のミッションでカバーされている概念の理解度を評価します。

Languages available:

Question 1

正誤問題 (正しいと思う場合は True、間違っていると思う場合は False を選択):

一般的にクラスは、各クラスが単一の目的を持つように構成され書かれるべきです。

Select only one

Question 2

C# で拡張メソッドを使いたい理由は何でしょうか?

Select only one

Question 3

親 (基底) クラスと子 (派生) クラスに関する次の記述のうち、正しいものはどれか。

  1. クラスは単一のクラスからしか継承できません。
  2. protected 変数やメソッドは、たとえ別のスクリプトであっても、子クラスからアクセスすることができます。
  3. private 変数やメソッドは、たとえ別のスクリプトであっても、子クラスからアクセスすることができます。
  4. クラス C がクラス A から派生したクラス B から派生した場合、クラス C はクラス B からしか振る舞いを継承しません。

Select only one

Question 4

もし、ユーザーが自分の車を設定できるアプリケーションをプログラミングするとしたら、どのように継承の概念を使って、冗長性を最小限に抑えたコードを構成するのでしょうか?

Select only one

Question 5

基底クラス (クラス A) には、以下のコードが含まれます:

public virtual void Greet () 
{
   Debug.Log("Hello");
}

クラス A を派生させた派生クラス (クラス B) には、以下のようなコードがあります:

public override void Greet ()
{
   Debug.Log("How are you?");
}

クラス B だけをインスタンス化して Greet() メソッドを呼び出した場合、コンソールには何が表示されるでしょうか。

Select only one

Question 6

C# における「カプセル化」の原則を支持するプラクティスは次のうちどれか。

  1. ゲッターとセッターの使用
  2. 必要な場合のみパブリック変数を使用する
  3. シーン内で使用していないオブジェクトは、可能な限り非アクティブにする
  4. 抽象クラスのみに通信するイベントを使用する

Select only one

Question 7

以下の public 変数を、セキュリティが向上し、なおかつ他のクラスからアクセス可能な Property に置き換えるにはどうしたらよいでしょうか。

public int score;

Select only one

Question 8

再利用性を高めるためには、次のコードをどのように改善するのがよいでしょうか。

void DisplayInfo(string name1, string name2, string address1, string address2, string phone1, string phone2)
{
     print(name1);
     print(name2);
     
     print(address1);
     print(address2);
     
     print(phone1);
     print(phone1);

}

Select only one

Question 9

以下は、非常にわかりにくいコードロジックの例です:

public float GetValue()
{
     float result;      
     
     if (bool1)
     {
          result = 1;
      }
      else
      {
         if (bool2)
         {
            result = 2;
         }
         else
         {
            result = 0;
         }
     }
     return result;
 }

True または False:以下のコードでは、よりシンプルな方法で同じ結果を得ることができます。

public float GetValue() {
     if (bool1)
     {
         return 1;
     }
     if (bool2)
     {
         return 2;
     }
     return 0; 
}

Select only one

Question 10

変数に関する次の記述のうち、正しいものはどれか。

Select only one

Question 11

プロファイラーを使って CPU 使用率の問題を診断する場合、アプリケーション用に書いたカスタムスクリプトの最適化の問題を見つけるにはどこを見ればいいでしょうか?

Select only one

Question 12

次のシナリオのうち、パフォーマンスの問題を引き起こす可能性が最も高いのはどれですか?

Select only one

Submit answers

To calculate your score, submit your answers to the quiz. A passing score will mark this quiz complete.

Correct answers needed to pass

9/12

Retake allowed after

0 Mins