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