(1)委托
1.定义:委托是为了实现方法的参数化,其是一种引用方法的类型,是对方法的引用,一旦委托分了方法,委托将与该方法具有相同的行为。委托的内部包含指向某个方法的的指针。通过使用委托,把方法的引用封装在委托对象中,然后将委托对象传递给调用引用方法的代码。 格式为;修饰符 delegate 返回类型 委托名称 (参数列表)
2.委托的声明:要声明一个委托类型,需要使用delegate关键字。委托类型的声明包括委托名、返回值类型和参数列表。
3.委托的实例化:要使用一个委托,必须首先创建一个委托的实例。委托的实例化可以使用new操作符或从现有方法创建。
4.委托的多重调用:C#委托支持多重调用,也就是将一个委托实例引用多个方法并将它们作为一个整体调用。多重调用的顺序是按照委托实例声明的顺序执行的。
5.匿名委托:C#还支持使用匿名委托来引用一个方法,而不必显式地声明一个委托类型。
6.泛型委托:C#委托也可以是泛型类型,这意味着它可以接受任何类型的方法作为参数,并在需要时进行调用。
总的来说,C#委托是一种强大的工具,它使得方法的处理变得更加灵活和动态,可以提高代码的可重用性和可维护性。掌握委托的使用和特性,可以让开发人员更加高效地编写出高质量的代码。
(2)面向对象
面向对象是一种编程思想,它将现实世界中的对象抽象出来,通过封装、继承、多态等机制来实现代码的复用、可维护和可扩展性。以下是面向对象的主要知识点:
-
类和对象:类是一种抽象的概念,定义了对象的通用属性和行为,对象则是类的具体实例。
-
封装:将对象的属性和方法封装起来,通过访问控制来保护数据的安全性。
-
继承:通过继承机制,子类可以继承父类的属性和方法,并且可以在此基础上进行扩展。
-
多态:同样的方法名可以对应不同的实现,实现了代码的灵活性和重用性。
-
抽象类和接口:抽象类是一种特殊的类,不能实例化,只能被继承,接口则是一个规范,定义了类实现的一组方法。
-
构造函数和析构函数:构造函数在对象实例化时被调用,用于初始化对象的状态,析构函数在对象被销毁时被调用,用于释放资源。
-
静态方法和属性:静态方法和属性属于类,不属于任何对象,通过类名直接调用。
-
单例模式:确保一个类只有一个实例,适用于需要全局共享的对象。
-
设计模式:是面向对象编程中常见的解决问题的方法,如工厂模式、观察者模式、装饰器模式等。
-
面向对象的编程原则:包括开闭原则、单一职责原则、接口隔离原则、依赖倒置原则、里氏替换原则、迪米特法则等,用于指导面向对象的程序设计。