一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

C Sharp封装与继承的概念与区别

时间:2026-06-16 08:30:48 编辑:袖梨 来源:一聚教程网

封装与继承的概念区别

封装(Encapsulation)是将数据和操作数据的方法绑定在一起,隐藏内部实现细节,仅暴露必要接口。继承(Inheritance)是子类复用父类的属性和方法,并可以扩展或重写。

C#封装与继承的概念与区别

封装示例代码

public class BankAccount
{
    private decimal _balance; // 私有字段,外部无法直接访问
    // 公开方法提供受控访问
    public void Deposit(decimal amount)
    {
        if (amount > 0)
            _balance += amount;
    }
    public decimal GetBalance() => _balance;
}

继承示例代码

public class Animal // 基类
{
    public void Eat() => Console.WriteLine("Eating...");
}
public class Dog : Animal // 派生类
{
    public void Bark() => Console.WriteLine("Woof!");
}

主要区别对比

封装特点

  • 通过private/protected修饰符控制访问权限
  • 使用属性(get/set)管理字段访问
  • 核心目标是数据保护和接口简化

继承特点

  • 通过:符号实现类继承
  • 支持方法重写(virtual/override
  • 核心目标是代码复用和多态实现

组合使用示例

public class Vehicle // 父类
{
    protected int _speed; // 受保护字段(封装)
    public virtual void Move() => Console.WriteLine("Moving");
}
public class Car : Vehicle // 子类(继承)
{
    private string _model; // 私有字段(封装)
    public Car(string model) => _model = model;
    public override void Move() 
    {
        _speed = 60; // 访问继承的受保护字段
        Console.WriteLine($"{_model} driving at {_speed}km/h");
    }
}

热门栏目