C#での継承を理解するのが難しいと感じています

ブロニコラス

このケースについて疑問に思っています。従業員は人から継承し、マネージャーは従業員から継承します。どちらのステートメントが正しいでしょうか。

Person alice = new Employee();
Employee bob = new Person();
Manager cindy = new Employee();
Manager dan = (Manager)(new Employee());
ドミトリー・ビチェンコ

スケッチを描きましょう:

  Person
    Employee  (Employee can be though as a subset of Person)
      Manager (Manager can be though as a subset of Employee)

つまり、すべて ManagerEmployeeすべて EmployeePersonです。シーケンスは推移的であるため、すべて ManagerPersonです。さあ、見てみましょう

  Person alice = new Employee();

Employeeインスタンス(new Employee();)を作成し、それをPersonPerson alice =)インスタンスに割り当てようとしました以来、すべて EmployeeであるPersonあなたがそれを行うことができます。

それどころか:

  Manager cindy = new Employee();

Employeeインスタンスを作成し、それをManagerインスタンスに割り当てようとしましたすべて Employeeがであるという規則がないため、それを行うことはできませんManager(まったくです:すべてManagerはですがEmployeeその逆ありません)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列の次元の概念を理解するのが難しいと感じています

分類Dev

Javaでの継承を理解しようとしています

分類Dev

Javaでのクラス継承を理解しようとしています

分類Dev

C#での継承は、「抽象、外部、または部分としてマークされていないため、本文を宣言する必要があります」

分類Dev

PythonOOPを理解するのが難しい

分類Dev

配列からの継承をES5で実装するのが難しいのはなぜですか?

分類Dev

C ++での継承を理解する

分類Dev

私たちのクラスが何かから継承していることをPyQtはどのように理解しますか?

分類Dev

親クラスから継承する必要があるこのAttributeErrorの原因を理解していない

分類Dev

<a>タグがどこから黒い色を継承しているのか理解できませんか?

分類Dev

forループで名前で参照されているすべてのクラスを継承しようとすると問題が発生します

分類Dev

c#は基本クラスの継承について混乱しています

分類Dev

おじいちゃんについて話している変数に、彼は年を取っていると言いたいのですが、それは彼が年をとっていないと言っています。私が間違っていることは何ですか?前もって感謝します

分類Dev

クラスが継承し、C#で実装するすべてのタイプとインターフェイスを取得します

分類Dev

Javaで継承等式を使用することの何が問題になっていますか?

分類Dev

RoslynでC#クラスを継承していないものをすべて検索し、ベースオブジェクトから継承するように変更します(Javaのような)

分類Dev

休止状態の基準を使用する一般的なdaoメソッドは間違っていますが、正しいと感じています

分類Dev

UINavigationControllerとnavigationControllerをすぐに理解するのが難しいre:presentingViewController

分類Dev

私は無記号上の任意のメソッドを呼び出すことができ、これは間違っていると感じています

分類Dev

Javaの注釈とは何ですか、私は理解しようとしていますが、Googleで利用可能なすべての情報を理解するのは非常に困難です

分類Dev

ヘッダークラス宣言内で見つかったこのパターンが何をしているのか理解するのが難しい(C ++、OpenGL)

分類Dev

スタックされたdivをレスポンシブにするのは難しいと感じました

分類Dev

すでに含まれている別のクラスを継承するクラスを継承する

分類Dev

このelm関数を理解するのが難しい

分類Dev

オプションの括弧を理解するのが難しい

分類Dev

Pythonのエラーを理解するのが難しい

分類Dev

結合の論理を理解するのが難しい

分類Dev

C ++の関数ポインタを理解するのが難しい

分類Dev

それ自体がcポインタを理解するのが難しい

Related 関連記事

  1. 1

    配列の次元の概念を理解するのが難しいと感じています

  2. 2

    Javaでの継承を理解しようとしています

  3. 3

    Javaでのクラス継承を理解しようとしています

  4. 4

    C#での継承は、「抽象、外部、または部分としてマークされていないため、本文を宣言する必要があります」

  5. 5

    PythonOOPを理解するのが難しい

  6. 6

    配列からの継承をES5で実装するのが難しいのはなぜですか?

  7. 7

    C ++での継承を理解する

  8. 8

    私たちのクラスが何かから継承していることをPyQtはどのように理解しますか?

  9. 9

    親クラスから継承する必要があるこのAttributeErrorの原因を理解していない

  10. 10

    <a>タグがどこから黒い色を継承しているのか理解できませんか?

  11. 11

    forループで名前で参照されているすべてのクラスを継承しようとすると問題が発生します

  12. 12

    c#は基本クラスの継承について混乱しています

  13. 13

    おじいちゃんについて話している変数に、彼は年を取っていると言いたいのですが、それは彼が年をとっていないと言っています。私が間違っていることは何ですか?前もって感謝します

  14. 14

    クラスが継承し、C#で実装するすべてのタイプとインターフェイスを取得します

  15. 15

    Javaで継承等式を使用することの何が問題になっていますか?

  16. 16

    RoslynでC#クラスを継承していないものをすべて検索し、ベースオブジェクトから継承するように変更します(Javaのような)

  17. 17

    休止状態の基準を使用する一般的なdaoメソッドは間違っていますが、正しいと感じています

  18. 18

    UINavigationControllerとnavigationControllerをすぐに理解するのが難しいre:presentingViewController

  19. 19

    私は無記号上の任意のメソッドを呼び出すことができ、これは間違っていると感じています

  20. 20

    Javaの注釈とは何ですか、私は理解しようとしていますが、Googleで利用可能なすべての情報を理解するのは非常に困難です

  21. 21

    ヘッダークラス宣言内で見つかったこのパターンが何をしているのか理解するのが難しい(C ++、OpenGL)

  22. 22

    スタックされたdivをレスポンシブにするのは難しいと感じました

  23. 23

    すでに含まれている別のクラスを継承するクラスを継承する

  24. 24

    このelm関数を理解するのが難しい

  25. 25

    オプションの括弧を理解するのが難しい

  26. 26

    Pythonのエラーを理解するのが難しい

  27. 27

    結合の論理を理解するのが難しい

  28. 28

    C ++の関数ポインタを理解するのが難しい

  29. 29

    それ自体がcポインタを理解するのが難しい

ホットタグ

アーカイブ