封装封装是面向对象编程的核心原则之一,它涉及将数据和操作数据的方法捆绑在一起,形成一个单元——类。在C中,封装通过以下方式实现:访问修饰符:C提供了四种访问修饰符:public、private、pro...
封装是面向对象编程的核心原则之一,它涉及将数据和操作数据的方法捆绑在一起,形成一个单元——类。在C#中,封装通过以下方式实现:
public、private、protected和internal。这些修饰符用于控制类成员(如字段、方法、属性等)的访问级别。public:允许在任何地方访问。private:只允许在类内部访问。protected:允许在类内部和继承自该类的子类中访问。internal:允许在同一个程序集内部访问。public class BankAccount
{ private double balance; // 私有字段,外部无法直接访问 public double Balance // 公共属性,提供对私有字段的访问 { get { return balance; } set { balance = value; } } public void Deposit(double amount) { balance += amount; }
}继承允许一个类(子类)继承另一个类(基类)的属性和方法。在C#中,继承通过以下方式实现:
:)后跟基类名称来声明子类。public class SavingsAccount : BankAccount
{ public void Withdraw(double amount) { if (Balance >= amount) { balance -= amount; } else { throw new InvalidOperationException("Insufficient funds."); } }
}public class SavingsAccount : BankAccount
{ public SavingsAccount(double initialBalance) : base(initialBalance) { }
}多态允许在运行时根据对象的实际类型来调用方法。在C#中,多态通过以下方式实现:
public class CheckingAccount : BankAccount
{ public override void Withdraw(double amount) { if (Balance >= amount + 2) // 加上额外的费用 { balance -= amount + 2; } else { throw new InvalidOperationException("Insufficient funds."); } }
}public interface IAccount
{ double Balance { get; } void Deposit(double amount); void Withdraw(double amount);
}
public class BankAccount : IAccount
{ // 实现接口定义的方法
}通过封装、继承和多态,C#类能够实现面向对象编程的强大功能,包括代码重用、可扩展性和灵活性。这些特性使得C#成为开发复杂、可维护应用程序的理想语言。