C#中练习属性使用的一个例子
2010-11-23 10:59
453 查看
属性有四个种类:可读属性(需实现get和set访问器)、只读属性(实现get访问器)、只写属性(实现set访问器)和Static属性(只能访问静态数据)参考下面这个例子:
//这个例子是在vs2008中实现的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace shuxing
{
class program
{
static void Main()
{
User zs = new User();
User ls = new User();
zs.Name = "张三";
zs.Sex = "女";
zs.Birthday = Convert.ToDateTime("1980-1-1");
Console.WriteLine(User.LoginCount);
Console.WriteLine("姓名:" + zs.Name + " 性别:" + zs.Sex+ " 年龄:"+zs.Age);
}
}
class User
{
private string m_Name;
private string m_Sex;
private DateTime m_Birthday;
private static int m_LoginCount;
public User()
{
m_LoginCount++;
}
public static int LoginCount //静态只读属性
{
get
{
return m_LoginCount;
}
}
public DateTime Birthday //只写属性
{
set
{
if (value < Convert.ToDateTime("1900-1-1") || value.Year > DateTime.Now.Year - 3)
Console.WriteLine("用户年龄非法");
else
{
m_Birthday = value;
}
}
}
public int Age //只读属性
{
get
{
return DateTime.Now.Year - m_Birthday.Year;
}
}
public string Name //读写属性
{
get
{
return m_Name;
}
set
{
m_Name = value;
}
}
public string Sex //读写属性
{
get
{
return m_Sex;
}
set
{
if (value == "男" || value == "女")
{
m_Sex = value;
}
else
{
Console.WriteLine("性别只能为“男”或“女”");
}
}
}
}
}
注:上面这个例子使用了属性,使代码更加清晰还逻辑严密。
//这个例子是在vs2008中实现的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace shuxing
{
class program
{
static void Main()
{
User zs = new User();
User ls = new User();
zs.Name = "张三";
zs.Sex = "女";
zs.Birthday = Convert.ToDateTime("1980-1-1");
Console.WriteLine(User.LoginCount);
Console.WriteLine("姓名:" + zs.Name + " 性别:" + zs.Sex+ " 年龄:"+zs.Age);
}
}
class User
{
private string m_Name;
private string m_Sex;
private DateTime m_Birthday;
private static int m_LoginCount;
public User()
{
m_LoginCount++;
}
public static int LoginCount //静态只读属性
{
get
{
return m_LoginCount;
}
}
public DateTime Birthday //只写属性
{
set
{
if (value < Convert.ToDateTime("1900-1-1") || value.Year > DateTime.Now.Year - 3)
Console.WriteLine("用户年龄非法");
else
{
m_Birthday = value;
}
}
}
public int Age //只读属性
{
get
{
return DateTime.Now.Year - m_Birthday.Year;
}
}
public string Name //读写属性
{
get
{
return m_Name;
}
set
{
m_Name = value;
}
}
public string Sex //读写属性
{
get
{
return m_Sex;
}
set
{
if (value == "男" || value == "女")
{
m_Sex = value;
}
else
{
Console.WriteLine("性别只能为“男”或“女”");
}
}
}
}
}
注:上面这个例子使用了属性,使代码更加清晰还逻辑严密。
相关文章推荐
- C#中练习属性使用的一个例子
- 如何使用 AllowPartiallyTrustedCallers 属性来调用具有一个强名称从 Web 页通过使用 Visual C#.NET、 Visual C# 2005年或更高版本的程序集
- 一个在c#中使用 二维数组的例子
- C#中关于委托练习的一个例子
- C#中关于委托练习的一个例子
- C#中使用反射遍历一个对象属性及值的小技巧
- liunx sys属性节点的使用(一个简单小例子)
- 一个C#中使用 event 和 delegate的小例子。
- 代码练习在 C# 中得到一个 object (包含匿名对象)的属性和属性值
- 收藏——在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- 使用C#的HttpWebRequest模拟登陆访问人人网(很好的一个例子,理解http的基本工作方式)
- 一个使用C#的TPL Dataflow Library的例子:分析文本文件中词频
- c#学习笔记之九 事件(event)的使用,一个简单的例子揭示其设计理念
- CodeProject - 在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- 代码练习在 C# 中得到一个 object (包含匿名对象)的属性和属性值
- PHP定义一个类,设置属性并且使用的例子
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- C#使用lock产生死锁的一个例子
- CodeProject - 在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)