C#で継承のプロパティを使用するにはどうすればよいですか?

1月

このコードを考慮してください:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class BaseClass
{
    public virtual void DoWork() { Console.WriteLine("BaseClass\n"); }
    public virtual int WorkProperty
    {
        get { return 0; }
    }
}
public class DerivedClass : BaseClass
{
    public override void DoWork() { Console.WriteLine("DerivedClass\n"); }
    public override int WorkProperty
    {
        get { return 1; }
    }
}

どうすれば使用できますWorkPropertyか?率直に言って、それは役に立たないようです。

メインで:

class Program
{
    static void Main(string[] args)
    {
        BaseClass A2 = new DerivedClass();

        int a = A2.WorkProperty;
        Console.WriteLine(a);

        // do more stuff with `a`                       

    }
}

一方、私がこのようなものを持っている場合:

public class CoOrds
{
    private int x, y;

    public CoOrds()  // constructor
    {
        x = 0;
        y = 0;
    }

    public int X
    {
        get { return x; }
        set { x = value; }
    }

    public int Y
    {
        get { return y; }
        set { y = value; }
    }
} 

次にx、とyはデータメンバーであり、ここではプロパティが役立ちます。

では、最初のコードのプロパティの目的は何ですか?

ありがとう

スコットチェンバレン

プロパティを意味のあるものにすると、それらをオーバーライドするときに意味があります。仮想プロパティは、子クラスがオーバーライドすることが理にかなっている場合に、子クラスがオーバーライドできるデフォルトを提供します。このPsudoStreamクラスの例を参照してください。

class PsudoStream 
{
    public virtual bool CanRead { get { return false; } }
    public virtual bool CanWrite { get { return false; } }
}

class WritableStream : PsudoStream 
{
    //CanRead is false already and does not need to be overwritten

    public override bool CanWrite { get { return true; } }
}

class ReadableStream : PsudoStream 
{
    //CanWrite is false already and does not need to be overwritten

    public override bool CanRead { get { return true; } }
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

cssで子供のプロパティを継承するにはどうすればよいですか?

分類Dev

cssで子供のプロパティを継承するにはどうすればよいですか?

分類Dev

AEM 6.2でページプロパティを継承するにはどうすればよいですか?

分類Dev

継承を含むArrayListsにプロパティを追加するにはどうすればよいですか?

分類Dev

継承されたコントロールのプロパティとしてTextFormatFlagsを使用するにはどうすればよいですか?

分類Dev

親の代わりに継承されたプロパティを使用するようにC#に説明するにはどうすればよいですか?

分類Dev

JavaScriptを使用して親要素のCSSプロパティを継承するにはどうすればよいですか?

分類Dev

別の関数のプロパティとメソッドを継承する関数をJavascriptで作成するにはどうすればよいですか?

分類Dev

EFコア式で継承されたプロパティを使用するにはどうすればよいですか?

分類Dev

すべての要素に基本クラスから1つの特定のプロパティを継承させるにはどうすればよいですか?

分類Dev

Goで継承された構造体のプロパティを取得するにはどうすればよいですか?

分類Dev

別のスキーマからスキーマプロパティを継承するにはどうすればよいですか?

分類Dev

CassandraのDatastaxエンティティマッパーを使用するときに継承を使用するにはどうすればよいですか?

分類Dev

WPF:継承されたプロパティ値のソースを見つけるにはどうすればよいですか

分類Dev

シリアル化する継承プロパティを動的に選択するにはどうすればよいですか?

分類Dev

継承されたプロパティをEFデータストアに動的に追加するにはどうすればよいですか?

分類Dev

C#でプロパティ名に「+」を追加するにはどうすればよいですか?

分類Dev

C#でプロパティ名に「+」を追加するにはどうすればよいですか?

分類Dev

プロパティ変更イベントを継承ラダーまで「追跡」するにはどうすればよいですか

分類Dev

WPF:プロパティHelptextをC#で設定するにはどうすればよいですか?

分類Dev

C#で拡張プロパティを作成するにはどうすればよいですか?

分類Dev

C#でプロパティを作成するにはどうすればよいですか

分類Dev

Cheetahテンプレートで継承を使用するにはどうすればよいですか?

分類Dev

プロパティがc#の動的匿名型に存在するかどうかを確認するにはどうすればよいですか?

分類Dev

nameofを使用して、C#属性のクラスのプロパティの完全修飾名を取得するにはどうすればよいですか?

分類Dev

リフレクションを使用して継承されているクラスのすべての非表示プロパティを無視するにはどうすればよいですか?

分類Dev

responseJsonで2つのプロパティを使用するにはどうすればよいですか?

分類Dev

角度でag-gridのheaderClassプロパティを使用するにはどうすればよいですか?

分類Dev

ThumbのControlTemplateでIsPressedプロパティを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    cssで子供のプロパティを継承するにはどうすればよいですか?

  2. 2

    cssで子供のプロパティを継承するにはどうすればよいですか?

  3. 3

    AEM 6.2でページプロパティを継承するにはどうすればよいですか?

  4. 4

    継承を含むArrayListsにプロパティを追加するにはどうすればよいですか?

  5. 5

    継承されたコントロールのプロパティとしてTextFormatFlagsを使用するにはどうすればよいですか?

  6. 6

    親の代わりに継承されたプロパティを使用するようにC#に説明するにはどうすればよいですか?

  7. 7

    JavaScriptを使用して親要素のCSSプロパティを継承するにはどうすればよいですか?

  8. 8

    別の関数のプロパティとメソッドを継承する関数をJavascriptで作成するにはどうすればよいですか?

  9. 9

    EFコア式で継承されたプロパティを使用するにはどうすればよいですか?

  10. 10

    すべての要素に基本クラスから1つの特定のプロパティを継承させるにはどうすればよいですか?

  11. 11

    Goで継承された構造体のプロパティを取得するにはどうすればよいですか?

  12. 12

    別のスキーマからスキーマプロパティを継承するにはどうすればよいですか?

  13. 13

    CassandraのDatastaxエンティティマッパーを使用するときに継承を使用するにはどうすればよいですか?

  14. 14

    WPF:継承されたプロパティ値のソースを見つけるにはどうすればよいですか

  15. 15

    シリアル化する継承プロパティを動的に選択するにはどうすればよいですか?

  16. 16

    継承されたプロパティをEFデータストアに動的に追加するにはどうすればよいですか?

  17. 17

    C#でプロパティ名に「+」を追加するにはどうすればよいですか?

  18. 18

    C#でプロパティ名に「+」を追加するにはどうすればよいですか?

  19. 19

    プロパティ変更イベントを継承ラダーまで「追跡」するにはどうすればよいですか

  20. 20

    WPF:プロパティHelptextをC#で設定するにはどうすればよいですか?

  21. 21

    C#で拡張プロパティを作成するにはどうすればよいですか?

  22. 22

    C#でプロパティを作成するにはどうすればよいですか

  23. 23

    Cheetahテンプレートで継承を使用するにはどうすればよいですか?

  24. 24

    プロパティがc#の動的匿名型に存在するかどうかを確認するにはどうすればよいですか?

  25. 25

    nameofを使用して、C#属性のクラスのプロパティの完全修飾名を取得するにはどうすればよいですか?

  26. 26

    リフレクションを使用して継承されているクラスのすべての非表示プロパティを無視するにはどうすればよいですか?

  27. 27

    responseJsonで2つのプロパティを使用するにはどうすればよいですか?

  28. 28

    角度でag-gridのheaderClassプロパティを使用するにはどうすればよいですか?

  29. 29

    ThumbのControlTemplateでIsPressedプロパティを使用するにはどうすればよいですか?

ホットタグ

アーカイブ