C# 继承学习笔记

什么是继承

继承是一种面向对象编程中的机制,它允许一个类(子类)继承另外一个类(父类)的属性和方法。子类可以重复使用父类的代码并添加自己的扩展,而不必再从头开始编写新的代码。

如何实现继承

在 C# 中,我们使用 : 运算符来表示继承关系。语法如下:

csharpCopy Code
class ChildClass : ParentClass { // 子类的代码 }

这里 ChildClass 是子类,ParentClass 是父类。子类中可以直接使用父类的属性和方法,也可以通过 override 关键字来重写父类的方法。

实例演示

下面以一个简单的示例来演示继承的用法。

csharpCopy Code
using System; // 父类 class Person { public string name; public int age; public void PrintInfo() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Age: {0}", age); } } // 子类 class Student : Person { public float score; public void Study() { Console.WriteLine("{0} is studying, his/her score is {1}.", name, score); } public override void PrintInfo() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Age: {0}", age); Console.WriteLine("Score: {0}", score); } } // 测试 class Test { static void Main() { Student stu = new Student(); stu.name = "Tom"; stu.age = 18; stu.score = 90.0f; stu.PrintInfo(); // 调用子类的 PrintInfo() 方法 stu.Study(); // 调用子类的 Study() 方法 } }

输出结果:

Copy Code
Name: Tom Age: 18 Score: 90 Tom is studying, his/her score is 90.

上面的代码中,Person 是父类,Student 是子类。子类 Student 继承了父类 Personnameage 属性,并添加了自己的属性 score 和方法 Study()。同时,子类重写了父类的 PrintInfo() 方法以便打印自己的信息。

在测试代码中,我们创建了一个 Student 类型的对象 stu,并设置了其属性为 name=Tom、age=18、score=90。然后分别调用了 PrintInfo()Study() 方法来展示继承的效果。

总结

通过继承,我们可以实现代码的复用和扩展,从而提高程序的可维护性和可扩展性。需要注意的是,继承应该被慎重使用,因为它可能会导致类之间的耦合度过高,从而影响程序的性能和可读性。