1. 面向对象编程(OOP)简介面向对象编程(OOP)是一种编程范式,它将现实世界中的实体抽象为对象,并通过对象之间的交互来解决问题。C作为一门面向对象的编程语言,其核心思想是将数据和操作数据的方法封...
面向对象编程(OOP)是一种编程范式,它将现实世界中的实体抽象为对象,并通过对象之间的交互来解决问题。C#作为一门面向对象的编程语言,其核心思想是将数据和操作数据的方法封装在一起,以提高软件的重用性、灵活性和扩展性。
类是面向对象编程中的基本构建模块,它定义了对象的属性(数据)和方法(行为)。在C#中,类使用class关键字定义。
public class Person
{ // 字段 private string name; private int age; // 属性 public string Name { get { return name; } set { name = value; } } public int Age { get { return age; } set { age = value; } } // 方法 public void Introduce() { Console.WriteLine("Hello, my name is " + name + " and I am " + age + " years old."); }
}对象是类的实例,可以通过new关键字创建。
Person person = new Person();
person.Name = "Alice";
person.Age = 30;
person.Introduce(); // 输出: Hello, my name is Alice and I am 30 years old.封装是将数据和操作数据的代码封装在一起,以隐藏实现细节。在C#中,通过访问修饰符(如private、public)来控制对类成员的访问。
继承是允许一个类继承另一个类的属性和方法。在C#中,使用:关键字来指定基类。
public class Employee : Person
{ // 员工特有的属性 public string EmployeeId { get; set; } // 员工特有的方法 public void PrintEmployeeDetails() { Console.WriteLine("Employee ID: " + EmployeeId); base.Introduce(); }
}多态是指不同的对象对同一消息做出不同的响应。在C#中,通过使用接口和抽象类来实现多态。
public interface IAnimal
{ void MakeSound();
}
public class Dog : IAnimal
{ public void MakeSound() { Console.WriteLine("Woof!"); }
}
public class Cat : IAnimal
{ public void MakeSound() { Console.WriteLine("Meow!"); }
}单一职责原则要求一个类只负责一项职责。这有助于提高代码的可维护性和可扩展性。
开放封闭原则要求软件实体应对扩展开放,对修改封闭。这意味着在添加新功能时,不需要修改现有代码。
里氏替换原则要求子类能够替换基类,而不影响程序的其他部分。
依赖倒置原则要求高层模块不应该依赖于低层模块,两者都应该依赖于抽象。这有助于提高代码的可测试性和可维护性。
接口隔离原则要求接口尽量细化,避免一个接口承担过多职责。
合成/聚合复用原则要求尽量使用合成/聚合关系,而不是继承关系来复用代码。
通过掌握这些高效设计技巧,可以编写出更加清晰、可维护和可扩展的C#代码。