Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C#拾遗之小知识(三):类

C#拾遗之小知识(三):类

黄舟
黄舟asal
2017-02-07 15:15:091089semak imbas

是抽象的概念。

  例如Dog类描述了狗有的一些特性,体重、身高、年龄、以及吼叫等等。

public class Dog
  {
  string dogBreed;//犬种
  int weight; //体重
  int height; //升高
  int age; //年龄
  public void bellow()
  {
  Console.WriteLine("旺旺");
  }
  }

这Dog类是抽象的,描述了一些特性,不是具体的一条狗。

  让后下面定义一个邻居的狗"大哈",它属于Dog类。

  Dog 大哈 = new Dog();

  实例化创建"大哈"的对象,现在"大哈"是具体的存在。让后可以对"大哈"对象进行具体的描述。如"大哈"的犬种是哈士奇,体重35公斤等等。

  大哈.dogBreed = "哈士奇";

  大哈.weight = 35;

  ……

  让后"大哈"吼叫

  大哈.bellow(); 这是一个狗的吼叫方法

  注意:对Dog类不能直接赋值特性。就比如int = 8; 一样,没有意义。没指特定的狗的情况下,你不能说狗体重、身高、犬种多少一样。

  类的最大的好处在于它能将一个实体的属性和行为封装在一个独立的代码单位中。按上面的例子Dog类中封装了犬种、身高、体重、年龄属性,以及吼叫方法。

  访问类型有Public公共、Private私有、Protected受保护(继承可访问)、internal内部、Protected internal内部受保护(继承可访问)。对类、字段、方法、属性、构造函数都可用。

  类可包含:字段、属性、构造函数、方法。

  类成员方法:

  语法:

  访问类型 返回类型 方法名称(接受参数,)

  {方法体}

  访问类型默认public

  如:

  Public void Method(int i , string s,…….)
  {方法体}

  多重方法:方法名称一样,参数不一样

  

public string d(int i , int j)
  { }
  public void d(string i)
  { }
  public void d(int i)
  { }
  public int d(char d)
  {
  return 0;
  }

  类构造函数:

  new创建对象时初始化成员变量。构造函数的函数名和类名相同。可以有多重构造函数,如同多重方法。

  例:

  

class Dog
  {
  Public Dog(string dogBreed,int Weight)
  {
  weight = Weight;
  this.dogBreed = dogBreed;
  }
  Public Dog(string dogBreed)
  {
  this.dogBreed = dogBreed;
  }
  string dogBreed;//犬种
  int weight; //体重

  }

  上例子中含有两个接受参数不同的多重构造函数。

  this代表当前实例(引用当前对象),Dog实例的dogBreed字段。

  类成员变量(字段):

  上例子中的dogBreed、weight是该类成员变量。可以在定义的时候初始化,而不用将每个变量都在构造函数中执行初始化。

  类成员属性:

  C#提供了get;set;访问器。用属性封装类的数据。

  例:

  

private int height;
  public int Height
  {
  get { return weight; } 读取
  set { weight = value; } 赋给
  }

  上例子中其他类无法直接读取height,只能通过访问器进行访问操作。

  get set前可以设置访问类型。

  对象销毁:

  析构函数,C#中的析构函数声明:

  

~textClass()
  {
  析构处理
  }

  还可以写成:

 

 textClass.Finalize()
  {
  析构处理
  Base.Finalize();
  }

以上就是C#拾遗之小知识(三):类的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn