2、派生类(子类)应当是对基类(父类)的扩展。派生类可以添加新成员,但不能除去已经继承的成员的定义。
3、构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类成员的访问方式只能决定派生类能否访问它们。
4、派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。(这点需要注意的是,如果是属性或者方法同名,但是签名不同,那就不是覆写,而是重载了)。
5、类可以定义虚方法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。
6、派生类只能从一个类中继承,可以通过接口实现多重继承。
自己写一个类,存放值、给你参考。把值放到这里的session里面就行using System
using System.Collections
/// <summary>
/// Session 的摘要说明。
/// </summary>
/// namespace BusinessTools.Service
namespace BusinessTools.Service
{
public class Session : DictionaryBase
{
private static Session assion = null
/// <summary>
/// 生成一个实例
/// </summary>
public Session()
{
}
/// <summary>
/// 得到一个单身实例
/// </summary>
/// <returns>返回类型为Session</returns>
public static Session GetSession()
{
if (Session.assion == null)
{
Session.assion = new Session()
}
return Session.assion
}
/// <summary>
/// 添加新成员
/// </summary>
/// <param name="newID">新字成员名字</param>
/// <param name="newmember">新成员</param>
public void Add(string newID, Object newmember)
{
try
{
if (Dictionary.Contains(newID))
{
return
}
Dictionary.Add(newID, newmember)
}
catch
{
return
}
}
/// <summary>
/// 删除成员
/// </summary>
/// <param name="memberID"></param>
public void Remove(string memberID)
{
try
{
Dictionary.Remove(memberID)
}
catch
{
return
}
}
/// <summary>
/// 本类的索引器
/// </summary>
/// <returns>返回Object成员</returns>
public Object this[string memberID]
{
get
{
try
{
Object obj = (Object)Dictionary[memberID]
Dictionary.Remove(memberID)//销毁
return obj
}
catch
{
return null//如果没有数据则返回null
}
}
set
{
try
{
this.Dictionary.Add(memberID, value)
}
catch
{
return
}
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)