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