程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#編程利器之二:結構與枚舉(Structure and enumeration)(5)

C#編程利器之二:結構與枚舉(Structure and enumeration)(5)

編輯:關於C語言

3. 對象的形式實現

何為對象的形式實現呢? 其實這個很簡單,也就是將需要枚舉的標識定義在對象裡,通過對象的特性將 其封裝.詳細如下代碼:

1public class SeasonOne
2{
3  public static readonly SeasonOne SPRING = new SeasonOne("春天");
4  public static readonly SeasonOne SUMMER = new SeasonOne("夏天");
5  public static readonly SeasonOne AUTUMN = new SeasonOne("秋天");
6  public static readonly SeasonOne WINTER = new SeasonOne("冬天");
7
8  public SeasonOne(string name)
9  {
10    this.name = name;
11  }
12
13  //成員
14  private string name;
15  public string Name
16  {
17    get { return name; }
18    set { name = value; }
19  }
20}

以上的形式實現很簡單, 不過好象已經偏離了"枚舉(enum)",因為實現已經由枚舉轉向為了類(class) 對象來實現了.定義一成員屬性,通過構造方法初始化,在類裡定義需要枚舉的只讀成員,通常不建議使用此 方式來實現. 我們可以這樣來測試:

1class Program
2{
3  static void Main(string[] args)
4  {
5    Console.WriteLine(SeasonOne.AUTUMN.Name);
6    //運行結果:秋天
7  }
8}

4. Java中的枚舉

在與C#語言一樣流行的JAVA中,枚舉還存在著另類故事,作為一個面向對象的開發者或是既將成為面向 對象的開發者的你,我想了解下另類語言的某些特性是有必要的.在Java中,枚舉除了上面所介紹的相關功 能外,還有其他的一些功能,下面將簡單的介紹下這些功能的應用.

枚舉裡定義抽象方法,標識符實現抽象方法

1enum Operator{
2  ADD {
3    public double calculate(double a,double b){
4      return a+b;
5    }
6  },
7  SUBSTRACT{
8    public double calculate(double a,double b){
9      return a-b;
10    }
11  },
12  MULTIPLY{
13    public double calculate(double a,double b){
14      return a*b;
15    }
16  },
17  DIVIDE{
18    public double calculate(double a,double b){
19      return a/b;
20    }
21  };
22  public abstract double calculate(double a,double b);
23}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved