38属性的种种,只读只写属性、自动属性、静态属性、抽象属性、接口属性

r囧r小猫 2021-11-02 12:38 530阅读 0赞

□ 只读属性

public class Example
{
string name;
public string Name
{
get {return name;}
}
}

□ 只写属性

public class Example
{
string name;
public string Name
{
set {name = value;}
}
}

□ 可读可写属性

public class Example
{
string name;
public string Name
{
get {return name;}
set {name = value;}
}
}

□ 自动属性

public class Example
{
public string Name {get;set;}
}

自动只读属性:

public class Example
{
public string Name{get; private set;}
}

自动只写属性:

public class Example
{
public string Name{private get; set;}
}

□ 静态属性

静态属性对应一个静态字段,通常用在”单例模式”中。”单例模式”构造函数必须是私有的。

public class Example
{
private static Example instance = new Example();
private Example(){}

  1. public static Example GetInstance
  2. \{
  3. get \{return instance;\}
  4. \}

}

□ 抽象属性

抽象类和抽象属性。

public abstrace class Person
{
public abstract string Name{get;set;}
}

抽象属性在子类中实现。

public class Student : Person
{
private string name;

  1. public override string Name
  2. \{
  3. get \{return name;\}
  4. set \{name = value;\}
  5. \}

}

□ 接口属性

public interface IPerson
{
string Name {get;set;}
}

public class Student : IPerson
{
private string name;

  1. public string Name
  2. \{
  3. get \{return name;\}
  4. set \{name = value;\}
  5. \}

}

参考资料:
A Deep Dive into C# Property

转载于:https://www.cnblogs.com/darrenji/p/3695188.html

发表评论

表情:
评论列表 (有 0 条评论,530人围观)

还没有评论,来说两句吧...

相关阅读