C#超基础:继承与多态

来源:互联网 发布:ubuntu find file 编辑:程序博客网 时间:2024/05/22 18:42
  
1.请说明继承的特点在C#编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。通过继承,能够复用原有代码,节省编程时间,并能够减少程序代码出错的可能性。2.请说明静态成员的继承方式1)静态成员为该类及该类的所有子类所共有 public class a{    public static int data=10;}public class test : a{}Main 中直接test.date2)两个age相互独立class living{          public static int age;                }class human : living{          new public static int age;}3.请说明base关键字的使用方式1)特殊变量base,提供了对父类的访问。Base.父类的方法();2)可以使用base访问父类被子类隐藏的变量或覆盖的方法。父类中声明为protected的成员变量可以在子类中访问到。3)C#中所有的类(包括我们自己定义的类)都是直接或间接继承自System.Object类。4.请说明多态的概念以及多态的实现方式1)多态就是同一个实现接口,使用不同的实例而执行不同的操作。2)多态将接口同具体的实现分离。3)多态使得代码的组织及可读性获得改善,提高了系统的可扩展性。class A{      public virtual void fun()       {            System.Console.Write(" A");       }}class B : A{      public override void fun()     {           System.Console.Write(" B");     }}class C : A{    public override void fun()     {          System.Console.Write(" C");     }}class Test    {        public static void Main()        {                         A a1 =new B();             a1.fun();             a1 =new C();             a1.fun();                }

综合应用:
  class Car    {        public virtual void run() { }    }    class Xiali : Car    {        public override void run()        {            Console.WriteLine("Xia Li is running");        }    }    class Benz : Car    {        public override void run()        {            Console.WriteLine("Benz is running");        }        }    class Person    {        public void Drive(Car c)        {            c.run();        }    }    class test    {        public static void Main()        {            Person p1 = new Person();            Xiali x1 = new Xiali();            p1.Drive(x1);            //Benz b1 = new Benz();            //p1.Drive(b1);            Car car = new Benz();            car.run();            Console.ReadLine();        }    }

0 0