public class Chp10
{
public static void Test()
{
/*知识点总结:
* 成员定义:可以在中定义字段、方法和属性成员。字段用可以访问性、名称和类型定义,
* 方法用可访问性、返回类型、名称和参数定义
* 属性用可访问性、名称、Get、Set存取器定义
* 各个属性存取器可以有自己的可访问性,但他必须低于整个属性的可访问性
* 成员隐藏和重写:属性和方法可以在基类中定义为抽象或虚拟,以定义继承。派生类必须实现抽象的成员,
* 使用override关键字可以重写虚拟的成员。派生类还可以用new关键字提供新的实现代码,用sealed关键字禁止进一步重写虚拟成员。
* 基类的实现代码可以用base关键字调用。
*接口的实现:实现了接口的类,必须实现该接口定义为公共的所有成员。可以隐式或显式实现接口,其中显式实现代码只能通过接口引用来使用。
*
* 部分定义:使用partial 关键字可以把类定义放在多个代码文件中,还可以使用partial关键字创建部分方法。
* 部分方法有一些限制,包括没有返回值或out参数。如果没有提供实现代码,部分方法就不能编译。
*
*
*/
ChildClass child = new ChildClass();
MyBaseClass parent = new MyBaseClass();
Console.WriteLine(child.ToString());
Console.WriteLine(parent.ToString());
parent = child;
Console.WriteLine(" parent = child;");
Console.WriteLine(child.ToString());
Console.WriteLine(parent.ToString());
child = (ChildClass)parent;
Console.WriteLine("child = (ChildClass)parent");
Console.WriteLine(child.ToString());
Console.WriteLine(parent.ToString());
}
}
public class MyBaseClass
{
public override string ToString()
{
return "I'm BaseClass";
}
}
public class ChildClass : MyBaseClass
{
public override string ToString()
{
return "I'm Child";
}
}
结果如图: