C#超基础:继承与多态

  
1.请说明继承的特点

在C#编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。
通过继承,能够复用原有代码,节省编程时间,并能够减少程序代码出错的可能性。
2.请说明静态成员的继承方式

1)静态成员为该类及该类的所有子类所共有 
public class a
{
    public static int data=10;
}
public class test : a
{	
}
Main 中直接test.date

2)两个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();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值