最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C Sharp封装与继承的概念与区别
时间:2026-06-16 08:30:48 编辑:袖梨 来源:一聚教程网
封装与继承的概念区别
封装(Encapsulation)是将数据和操作数据的方法绑定在一起,隐藏内部实现细节,仅暴露必要接口。继承(Inheritance)是子类复用父类的属性和方法,并可以扩展或重写。

封装示例代码
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");
}
}
相关文章
- 悠星大陆深渊乱斗怎么玩 深渊乱斗玩法介绍 07-31
- 《遥遥西土》峡谷唱片全收集攻略分享 07-31
- 王者荣耀英雄技能攻略(掌握技能,成就传奇王者) 07-31
- DDR4-3600 vs DDR5-5600游戏实测:低延迟与高带宽谁更适合游戏 07-31
- PS6光追性能暴涨10倍 AI与高刷新率或成主打 07-31
- 灌篮军团满级的零怎么培养 满级的零培养一览 07-31