首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]C#深度解析:揭秘面向对象编程的五大核心特征

发布于 2025-06-22 10:09:28
0
1174

封装(Encapsulation)封装是面向对象编程(OOP)的基石之一,它将数据和操作数据的方法绑定在一起,形成一个单元——对象。在C中,封装通过以下方式实现:私有访问修饰符:使用private关键...

封装(Encapsulation)

封装是面向对象编程(OOP)的基石之一,它将数据和操作数据的方法绑定在一起,形成一个单元——对象。在C#中,封装通过以下方式实现:

  • 私有访问修饰符:使用private关键字定义的成员只能在类内部访问。
  • 公共访问修饰符:使用public关键字定义的成员可以在任何地方访问。
  • 保护访问修饰符:使用protected关键字定义的成员可以在类内部和子类中访问。
  • 内部访问修饰符:使用internal关键字定义的成员只能在同一程序集内访问。
public class BankAccount
{ private double balance; // 私有成员变量 public double Balance // 公共属性 { get { return balance; } set { balance = value; } } public void Deposit(double amount) { balance += amount; // 公共方法 } // 私有方法 private void CalculateInterest() { // ... }
}

继承(Inheritance)

继承允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和行为。C#支持单继承和多继承(通过接口实现)。

public class SavingsAccount : BankAccount
{ public double InterestRate { get; set; } public void ApplyInterest() { // ... }
}

多态(Polymorphism)

多态允许使用基类引用或指针来调用子类的方法。在C#中,多态通过以下方式实现:

  • 重写方法:在子类中重写基类的方法。
  • 虚方法:在基类中声明为virtual的方法可以在子类中重写。
public class Customer
{ public virtual void DisplayInfo() { Console.WriteLine("Customer Information"); }
}
public class VIPCustomer : Customer
{ public override void DisplayInfo() { base.DisplayInfo(); Console.WriteLine("VIP Customer Information"); }
}

抽象(Abstraction)

抽象是将复杂的概念简化为更易于理解的模型。在C#中,抽象通过以下方式实现:

  • 抽象类:不能实例化的类,用于定义共享行为和成员。
  • 接口:定义一组方法的规范,不包含实现。
public abstract class Vehicle
{ public abstract void Drive();
}
public class Car : Vehicle
{ public override void Drive() { Console.WriteLine("Driving a car"); }
}

多态性(Polymorphism)

多态性允许在运行时确定对象的实际类型,并调用相应的方法。C#中的多态性通过以下方式实现:

  • 重载方法:同一个类中可以存在多个同名方法,只要它们的参数列表不同。
  • 运算符重载:可以自定义运算符的行为。
public class Calculator
{ public int Add(int a, int b) { return a + b; } public int Add(int a, int b, int c) { return a + b + c; }
}

通过这些核心特征,C#提供了强大的面向对象编程能力,使得开发者能够创建模块化、可重用和可维护的代码。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流