lwj_C#_静态,单例的使用

来源:互联网 发布:数据冗余 编辑:程序博客网 时间:2024/05/01 01:33
    public class Info{
        public string name;
        public int level;
        public int exp;

        private Info (){}
        private static Info instance;
        public static Info Instance{
            get{
                if (instance == null) {
                    instance = new Info(); 
                }
                return instance;
            }
        }

        public override string ToString ()
        {
            return string.Format ("{0},{1},{2}",name,exp,level);
        }
    }

    public class Hero{
        public void ShowInfo(){
            Console.WriteLine ("hero:"+Info.Instance.ToString());
        }
        public void Addexp(){
            Info.Instance.exp++;
        }
    }
    public class Monster{
        public void GetInfo(){
            Console.WriteLine ("monster:" + Info.Instance.ToString());
        }
        public void Dead(){
            Console.WriteLine ("怪物死了");
            Info.Instance.exp++;
        }
    }



    class MainClass
    {
        public static void Main (string[] args)
        {
            Hero hero = new Hero();
            Monster monster = new Monster ();
            Monster monster_1 = new Monster ();
            hero.ShowInfo ();
            monster.GetInfo ();
        }
    }