C#类的升华

来源:互联网 发布:云计算架构工程师招聘 编辑:程序博客网 时间:2024/06/11 20:27
namespace testCS02
{


    class test : Person, Itest //C#是不支持多重继承的,一个类只能同时继承一个父类,但是能够同时继承多个接口(转载)  *在继承时类必须写在接口前!
    {


        private string test1 = "test the private cin"; //**类中也可进行私有成员的初始化! 与C++不同**


        public string Gettest1() { return test1; }


        public int GetP() { return 1; }  //接口的方法等只能由类来完成。


        public override int GetPerson() { return 11; } //抽象类的抽象方法必须在子类中实现 


    }


    abstract class Person //抽象类不能实例化
    {


        public string name = "Hello World!";


        private string name2 = "ppp"; //在抽象类中私有成员也可以在定义的时候进行初始化


//      public abstract string name2 = "Hello World2!"; //抽象并不能修饰成员变量


        public abstract int GetPerson();


        public string Getname2() { return name2; }


        public int GetP2() { return 9; } //抽象类中,可以不用抽象函数作为方法,并可以写方法。


    }


    interface Itest //接口:只能写方法,属性,索引,事件。不让定义成员变量。
    {


        int GetP();


    }


    class Program
    {
        static void Main(string[] args)
        {


            test p = new test();
            Console.WriteLine(p.GetP());
            Console.WriteLine(p.GetPerson());
            Console.WriteLine(p.GetP2()); //可以被调用
            Console.WriteLine(p.name);
            Console.WriteLine(p.Getname2());
            Console.WriteLine(p.Gettest1());


        }
    }
}
0 0