那它的派生类如何实例化.??

解决方案 »

  1.   

    public abstract class A
    {
    public static void fa()
    {}
    }
    use: A.fa();
      

  2.   

    如果類里面含有抽象的成員(哪怕只有一個),那這個類就必須聲明:abstract class
    但是在這個abstract class中可以還可以包含非抽象的成員!!
      

  3.   

    public abstract class Animal
        {
            protected string name;
            public string Name
            {
                get
                {
                    return name;
                }
                set 
                {
                    name = value;
                }
            }
            public Animal()
            {
                name = "The animal with no name";
            }
            public Animal(string newName)
            {
                name = newName;
            }
            public void Feed()
            {
                Console.WriteLine("{0}has been fed.", name);
            }
        } public class Cow:Animal 
        {
            public void Milk()
            {
                Console.WriteLine("{0}has been milked.", name);
            }
            public Cow(string newName)
                : base(newName)
            {
            }
        }
    public  class Chicken:Animal 
        {
            public void LayEgg()
            {
                Console.WriteLine("{0}has laid an egg.", name);
            }
            public Chicken(string newName)
                : base(newName)
            {
            }
        }这个里面cow 和chicken应该都是抽象的吧?
    为什么它的以后的代码可以直接用来实例化.对象..(这个是c#入门经典里的代码)
      

  4.   

    Cow和Chicken不是抽象类,你为啥会认为它们是抽象类,派生自抽象类而已。
      

  5.   

    我刚学C#....C++里面抽象类好象是必须有virtual函数的..它的派生类必须实例化了virtual函数才能成为非抽象的类.C#里是怎么样的呢?
      

  6.   

    C#里抽象类不是必须有virtual函数的,
    ‘它的派生类必须实例化了virtual函数才能成为非抽象的类.’
    如果基类包含了virtual函数,则派生类必须实现该函数,否则派生类
    也必须声明为抽象的。即包含了virtual成员的类一定是抽象类。