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

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

第15章 - 接口

嗨,朋友!我是长安。

恭喜你!这是基础教程的最后一章。接口是 C# 中非常重要的概念,它定义了类应该遵循的"契约"。

🤝 什么是接口?

接口定义了一组方法的签名,但不提供实现。实现接口的类必须实现所有方法。

// 定义接口
interface IAnimal
{
    void Eat();     // 方法签名,没有实现
    void Sleep();
    void MakeSound();
}

// 实现接口
class Dog : IAnimal
{
    public void Eat()
    {
        Console.WriteLine("狗在吃骨头");
    }
    
    public void Sleep()
    {
        Console.WriteLine("狗在睡觉");
    }
    
    public void MakeSound()
    {
        Console.WriteLine("汪汪汪!");
    }
}

class Cat : IAnimal
{
    public void Eat()
    {
        Console.WriteLine("猫在吃鱼");
    }
    
    public void Sleep()
    {
        Console.WriteLine("猫在睡觉");
    }
    
    public void MakeSound()
    {
        Console.WriteLine("喵喵喵!");
    }
}

// 使用
IAnimal animal1 = new Dog();
animal1.Eat();
animal1.MakeSound();

IAnimal animal2 = new Cat();
animal2.Eat();
animal2.MakeSound();

🎯 接口 vs 抽象类 vs 普通类

特性接口抽象类普通类
关键字interfaceabstract classclass
实例化❌ 不能❌ 不能✅ 可以
方法实现❌ 没有⚠️ 可有可无✅ 有
多继承✅ 支持❌ 不支持❌ 不支持
成员只有方法签名可以有字段、属性、方法所有成员

💡 为什么要用接口?

  1. 定义规范:统一不同类的行为
  2. 多继承:一个类可以实现多个接口
  3. 解耦:降低类之间的依赖
  4. 多态:通过接口引用不同的实现
// 定义多个接口
interface IFlyable
{
    void Fly();
}

interface ISwimmable
{
    void Swim();
}

// 一个类实现多个接口
class Duck : IFlyable, ISwimmable
{
    public void Fly()
    {
        Console.WriteLine("鸭子在飞");
    }
    
    public void Swim()
    {
        Console.WriteLine("鸭子在游泳");
    }
}

🎉 基础教程完成!

恭喜你完成了C#基础教程的学习!你现在已经掌握了:

  • ✅ C# 的基本语法
  • ✅ 变量、数据类型和运算符
  • ✅ 控制流程和循环
  • ✅ 数组和方法
  • ✅ 面向对象编程的核心概念
  • ✅ 类、继承、多态、封装和接口

📝 本章小结

  • 接口定义了方法的契约
  • 使用 interface 关键字定义
  • 实现接口必须实现所有方法
  • 一个类可以实现多个接口
  • 接口提高了代码的灵活性和可扩展性

🚀 下一步:进阶学习

基础打牢了,现在可以学习进阶内容了!

开始进阶学习 →

💪 最后的练习

创建一个完整的动物园系统:

  1. 定义 IAnimal 接口(吃、睡、叫)
  2. 创建至少3种动物类实现接口
  3. 创建动物数组,遍历调用方法
  4. 体会多态的威力!

你太棒了!坚持完成了15章的学习!继续加油,进阶内容等着你!💪

最近更新: 2025/12/27 14:02
Contributors: 王长安
Prev
第14章 - 封装