C# 完全学习指南C# 完全学习指南
首页
基础教程
进阶内容
实战项目
编程指南
首页
基础教程
进阶内容
实战项目
编程指南
  • 基础教程

    • 📚 基础教程
    • 第1章 - 认识 C#
    • 第2章 - 环境搭建
    • 第3章 - 第一个程序
    • 第4章 - 变量与数据类型
    • 第5章 - 运算符
    • 第6章 - 控制流程
    • 第7章 - 循环语句
    • 第8章 - 数组
    • 第9章 - 方法
    • 第10章 - 面向对象基础
    • 第11章 - 类与对象
    • 第12章 - 继承
    • 第13章 - 多态
    • 第14章 - 封装
    • 第15章 - 接口

第13章 - 多态

嗨,朋友!我是长安。

多态是面向对象的第三大特性,它让程序更加灵活。同一个方法调用,在不同对象上会有不同的表现。

🎭 什么是多态?

多态意味着"多种形态",同一个方法在不同对象上有不同的实现。

class Shape
{
    public virtual void Draw()
    {
        Console.WriteLine("绘制形状");
    }
}

class Circle : Shape
{
    public override void Draw()
    {
        Console.WriteLine("绘制圆形 ⭕");
    }
}

class Rectangle : Shape
{
    public override void Draw()
    {
        Console.WriteLine("绘制矩形 ▭");
    }
}

class Triangle : Shape
{
    public override void Draw()
    {
        Console.WriteLine("绘制三角形 △");
    }
}

// 多态的威力
static void Main(string[] args)
{
    Shape[] shapes = new Shape[]
    {
        new Circle(),
        new Rectangle(),
        new Triangle()
    };
    
    foreach (Shape shape in shapes)
    {
        shape.Draw();  // 同一个方法调用,不同的结果
    }
}

输出:

绘制圆形 ⭕
绘制矩形 ▭
绘制三角形 △

📝 本章小结

  • 多态让同一方法有不同实现
  • 使用 virtual 和 override 实现多态
  • 父类引用可以指向子类对象
  • 多态提高了代码的灵活性和扩展性

🎯 下一步

下一章:封装 →
最近更新: 2025/12/27 14:02
Contributors: 王长安
Prev
第12章 - 继承
Next
第14章 - 封装