---------------------- ASP.Net+Android+IO开发S 、 .Net培训、期待与您交流! ----------------------
封装、继承和多态性是面向对象编程的三大原则。封装用于隐藏调用者不需要了解的信息;继承则简化了类的设计;多态性是指类为名称相同的方法提供了不同实现方式。
C#语言提供了两种实现继承的方式:类继承和接口继承。不过类继承只允许单一的继承,如果必须使用多重继承,可以通过接口实现。
基类和扩充类
在C# 中用“:”(冒号)来表示继承。其中被继承的类叫做基类或者父类,从基类继承的类叫扩充类,又叫派生类或子类。注意:任何一个类,其最初都是从object类继承的。
声明一个扩充类的基本语法:
[访问修饰符] class 扩充类名称 : 基类名称
{
程序代码;
}
例如:
//基类
public class A
{
public A()
{
}
}
//扩充类
public class B : A
{
public B()
{
}
}
注意:扩充类不能继承基类中所定义的private成员,只能继承基类的public成员或protected成员。访问B对象时,可以使用强制转换操作将其转换为A对象。例如:A a = (A)new B();或A a = new B();
例如:基类和扩充类的定义及用法
class Program
{
static void Main(string[] args)
{
//创建扩充类的对象
chinese ch = new chinese();
//调用继承自基类的方法
ch.Talk();
Console.ReadKey();
}
}
//基类
public class person
{
public person()
{
Console.WriteLine("基类的构造函数:hello person!");
}
public void Talk()
{
Console.WriteLine("基类的方法:Talking");
}
}
//扩充类
public class chinese : person
{
public chinese()
{
Console.WriteLine("扩充类的构造函数:hello chinese");
}
public void Eat()
{
Console.WriteLine("扩充类的方法:Eating");
}
}
注意:chinese 类继承自person类,当创建chinese的实例时,会首先调用 person类的构造函数,然后再调用扩充类的构造函数。
---------------------- ASP.Net+Android+IO开发S 、 .Net培训、期待与您交流! ----------------------