最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
首頁 > 編程開發 > C#編程 >
  • C#教程之C#類類型

  • 2019-08-15 21:03 來源:未知

一、類和對象

  假設我開了一家烤魚店,每當客人來點餐時,我就會用筆和紙記錄這筆訂單,并計算出每單的價格。以下是記錄的訂單:

單號:00001
種類:清江魚
口味:香辣
配菜:豆腐
價格:140元
------------
單號:00002
種類:江團
口味:蒜香
配菜:海帶
價格:180元

上面所有的內容都需要手寫,當客人多的時候很浪費時間,于是我就去打印店按照以下模板打印點餐單(即紙質訂單):

單號:
種類:
口味:
配菜:
價格:

這樣每位客人點餐時,我就只需要寫下客人點餐的內容即可。

在上面的例子中,我記錄的每一筆訂單都可以看作一個對象,這每一筆訂單都有對應的值使之與其他訂單不同,但是所有訂單都具有相同的屬性和行為,通過抽象出這些屬性和行為得到點餐單,所以點餐單可以看作訂單的類,反之對點餐單填充不同的值,可以得到不同的訂單,也就是不同的對象。通過對上面的理解給類和對象下定義,類是具有相同狀態和行為的一類事物,對象是一個客觀存在且獨一無二的個體。類和對象的關系:類是對對象的抽象,對象是對類的填充或實例化。

 

  類的基本結構:訪問修飾符 class 類名{ },其中大括號里可以是類型成員(常量、字段、屬性、構造函數、方法、事件等)中的一種或多種構成。

  對象的基本結構是類的實例化:類名 變量名 = new 類名();,其中變量名也叫對象。

  下面我們根據上面的例子設計對應的類,并實現相應的對象。(為使代碼簡單,均用public修飾)

復制代碼
 1 /// <summary>
 2 /// 擁有單號、種類、口味、配菜、價格和計算價格行為的訂單類
 3 /// </summary>
 4 public class Order
 5 {
 6     #region 字段
 7     /// <summary>
 8     /// 單號(單號為自增字段,無需賦值,自增代碼省略)
 9     /// </summary>
10     public int orderNo;
11 
12     /// <summary>
13     /// 種類
14     /// </summary>
15     public string type;
16 
17     /// <summary>
18     /// 口味
19     /// </summary>
20     public string flavor;
21 
22     /// <summary>
23     /// 配菜
24     /// </summary>
25     public string garnish;
26 
27     /// <summary>
28     /// 價格
29     /// </summary>
30     public decimal price;
31     #endregion
32 
33     #region 方法
34     /// <summary>
35     /// 計算價格
36     /// </summary>
37     /// <param name="type">魚的種類</param>
38     /// <param name="garnish">配菜種類</param>
39     public void CalculateThePrice(string type, string garnish)
40     {
41         //通過魚的種類和配菜種類計算價格,過程省略
42     }
43     #endregion
44 }
45 /// <summary>
46 /// 實現對象的類
47 /// </summary>
48 public class RealizeObject
49 {
50     #region 方法
51     /// <summary>
52     /// 實現
53     /// </summary>
54     public Realize()
55     {
56         //清江魚香辣味加豆腐配菜需要140元的訂單對象
57         Order order = new Order();
58         order.type = "清江魚";
59         order.flavor = "香辣";
60         order.garnish = "豆腐";
61         order.price = 140;//直接賦予價格
62         order.CalculateThePrice("清江魚", "豆腐");//通過行為計算價格
63 
64         //江團醬香味加海帶配菜需要180元的訂單對象
65         Order orderTwo = new Order();
66         orderTwo.type = "江團";
67         orderTwo.flavor = "醬香";
68         orderTwo.garnish = "海帶";
69         orderTwo.price = 180;//直接賦予價格
70         orderTwo.CalculateThePrice("江團", "海帶");//通過行為計算價格
71     }
72     #endregion
73 }
復制代碼

  詳解類的實例化過程:Order order = new Order();等號前半部分定義一個類型為Order的變量order,這個變量的值為null;當加上等號后半部分時,才給order變量賦值,并且Order的構造函數會為order的所有字段賦默認值。用點餐單的例子講當沒有等號后半部分時,我想把一張白紙order用作點餐單,但我還沒有去打印,當加上等號后半部分后,order這張白紙被我打印成了點餐單,并且我可能在打印完后立馬填充對應的值。

pk10赛车冠军技巧
最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
优游彩票平台是真的吗 软件盒子赚钱 广西山水麻将百色微信群 青海十一选五规则 六肖免费公开资料 520彩票群 金属探测仪怎样赚钱 基金则么赚钱 开个人均消费20元的练歌房赚钱吗