InBlock.gif using System;
InBlock.gif using System.Collections.Generic;
InBlock.gif using System.Text;
InBlock.gif using System.Drawing;
InBlock.gif
InBlock.gif namespace Practise513
InBlock.gif{
InBlock.gif         class Program
InBlock.gif        {
InBlock.gif                 static void Main( string[] args)
InBlock.gif                {
InBlock.gif                    
InBlock.gif                }
InBlock.gif        }
InBlock.gif         class Employee
InBlock.gif        {
InBlock.gif                 private string name;
InBlock.gif                 private decimal salary;
InBlock.gif
InBlock.gif                 /// <summary>
InBlock.gif                 /// 类的三大特征之一:封装
InBlock.gif                 /// 利用属性来进行封装数据。
InBlock.gif                 /// 属性本质上是方法,所以属性不能直接存储数据,
InBlock.gif                 /// 通常一个属性都对应着一个字段,属性的数据是存储在对应的字段里。
InBlock.gif                 /// 这个字段通常称为后备字段。
InBlock.gif                 /// </summary>
InBlock.gif                 public string Name
InBlock.gif                {
InBlock.gif
InBlock.gif                        get
InBlock.gif                        {
InBlock.gif                                 return name;
InBlock.gif                        }
InBlock.gif                        set
InBlock.gif                        {
InBlock.gif                                name = value;
InBlock.gif                        }
InBlock.gif                    
InBlock.gif                }
InBlock.gif                 public decimal Salary
InBlock.gif                {
InBlock.gif                        get { return salary; }
InBlock.gif                         ///设定为private set 在类的内部可以访问,而在外部不可以访问。
InBlock.gif                         ///只有两个访问器时,才能够指定访问修饰符。
InBlock.gif                         ///但是在属性中,只能为一个访问器设定访问修饰符
InBlock.gif                         ///访问器的访问修饰符必须要比属性的访问修饰符的访问权限更严格。
InBlock.gif                         private set
InBlock.gif                        {
InBlock.gif                                
InBlock.gif                                 if (value < 1000 || value > 10000)
InBlock.gif                                {
InBlock.gif                                         throw new Exception( "薪水值不在所定义的范围内。");
InBlock.gif                                }
InBlock.gif                                salary = value;
InBlock.gif                        }
InBlock.gif                }
InBlock.gif
InBlock.gif        }
InBlock.gif
InBlock.gif         class Entity
InBlock.gif        {
InBlock.gif                 private static int count;
InBlock.gif                 /// <summary>
InBlock.gif                 /// 静态属性
InBlock.gif                 /// 它是类相关的,而不是对象相关的。
InBlock.gif                 /// </summary>
InBlock.gif                 public static int Count
InBlock.gif                {
InBlock.gif                        get
InBlock.gif                        {
InBlock.gif                                 return count;
InBlock.gif                        }
InBlock.gif                }
InBlock.gif                 public Entity()
InBlock.gif                {
InBlock.gif                        count++;
InBlock.gif                }
InBlock.gif        }
InBlock.gif         public class StaticProperty
InBlock.gif        {
InBlock.gif                 private static void Main()
InBlock.gif                {
InBlock.gif                        Entity et1 = new Entity();
InBlock.gif                        Entity et2 = new Entity();
InBlock.gif                         int count = Entity.Count;
InBlock.gif                        Console.WriteLine( "当前该类的实例数目共有:{0}",count);
InBlock.gif                        Console.Read();
InBlock.gif                }
InBlock.gif        }
InBlock.gif         /// <summary>
InBlock.gif         /// 该类包含了一组颜色
InBlock.gif         /// </summary>
InBlock.gif         public class Colors
InBlock.gif        {
InBlock.gif                 public Color GetColor( string colorName)
InBlock.gif                {
InBlock.gif                        colorName = colorName.ToLower();
InBlock.gif                         switch (colorName)
InBlock.gif                        {
InBlock.gif                                 case "red":
InBlock.gif                                         return Color.FromArgb(255, 0, 0);
InBlock.gif                                 case "green":
InBlock.gif                                         return Color.FromArgb(0, 255, 0);
InBlock.gif                                 case "blue":
InBlock.gif                                         return Color.FromArgb(0, 0, 255);
InBlock.gif                                 case "yellow":
InBlock.gif                                         return Color.FromArgb(255, 255, 0);
InBlock.gif                                 default:
InBlock.gif                                         return Color.FromArgb(0, 0, 0);
InBlock.gif                        }
InBlock.gif                }
InBlock.gif                 /// <summary>
InBlock.gif                 /// 定义一个索引器
InBlock.gif                 /// 语法:
InBlock.gif                 /// 返回类型 this[类型 参数,....]
InBlock.gif                 /// {
InBlock.gif                 ///        get;
InBlock.gif                 ///        set;
InBlock.gif                 /// }
InBlock.gif                 /// </summary>
InBlock.gif                 /// <param name="colorName"></param>
InBlock.gif                 /// <returns></returns>
InBlock.gif                 public Color this[ string colorName]
InBlock.gif                {
InBlock.gif                        get
InBlock.gif                        {
InBlock.gif                                 return GetColor(colorName);
InBlock.gif                        }
InBlock.gif                }
InBlock.gif                 /// <summary>
InBlock.gif                 /// 索引器也可以构成重载
InBlock.gif                 /// </summary>
InBlock.gif                 /// <param name="colorIndex"></param>
InBlock.gif                 /// <returns></returns>
InBlock.gif                 public Color this[ int colorIndex]
InBlock.gif                {
InBlock.gif                        get
InBlock.gif                        {
InBlock.gif                                 switch (colorIndex)
InBlock.gif                                {
InBlock.gif                                         case 0:
InBlock.gif                                                 return Color.FromArgb(255, 0, 0);
InBlock.gif                                         case 1:
InBlock.gif                                                 return Color.FromArgb(0, 255, 0);
InBlock.gif                                         case 2:
InBlock.gif                                                 return Color.FromArgb(0, 0, 255);
InBlock.gif                                         case 3:
InBlock.gif                                                 return Color.FromArgb(255, 255, 0);
InBlock.gif                                         default:
InBlock.gif                                                 return Color.FromArgb(0, 0, 0);
InBlock.gif                                }
InBlock.gif                        }
InBlock.gif                }
InBlock.gif        }
InBlock.gif
InBlock.gif         public class UserIndexer
InBlock.gif        {
InBlock.gif                 public static void Main( string[] args)
InBlock.gif                {
InBlock.gif                        Colors color1 = new Colors();
InBlock.gif
InBlock.gif                }
InBlock.gif        }
InBlock.gif}