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