四-面向对象-类库、委托
var万能变量:
var a = 值/构造函数实例化;
给它什么类型的数据,它自动会变成相应的类型,不需要进行类型转换。
-----------------------------------------------------------------------------
类库:
1、他人写好的.cs源代码文件,发送过来,
在自己的项目中添加进来,引用命名空间,调用方法;
一般用在公司内部,因为源代码文件可以看到,并且可以修改;
(这个不是类库)
namespace ConsoleApplication1 { class SuanShu { /// <summary> /// 加法运算的函数 /// </summary> /// <param name="a">第一个数</param> /// <param name="b">第二个数</param> /// <returns></returns> public int JiaFa(int a, int b) { return a + b; } public int JianFa(int a, int b) { return a - b; } }
namespace 类库 { class Program { static void Main(string[] args) { var a = 10; var b = 20; SuanShu cf = newJiaFa();
var c = cf.Cheng(a, b);
Console.WriteLine(c);
Console.ReadKey();
}
2、类库方式:
一个类库,就是一个dll结尾的文件,是源代码编译后的辅助文件;----这个文件,可以引用,无法读取修改
在自己的项目中添加引用后,引用相对应的命名空间,
就可以实例化类库中的公共的类,并且可以调用公共方法
-----------------------------------------------------------------------------
委托:
就是代理,事件也是委托,但是是一种特殊的委托;
1、声明委托类型:
------
public delegate int FirstDel(int a, int b)
2、委托变量的定义及赋值:
--------
public int JiaFa(int a, int b) { return a + b; }
-------
FirstDel f1 = new FangFa().JiaFa; int c = f1(5, 4);
3、委托变量的使用:
namespace 委托 { public delegate int FirstDel(int a, int b); //声明委托类型 class Program { static void Main(string[] args) { FirstDel f1 = new FangFa().JiaFa; int c = f1(5, 4); Console.WriteLine(c); FirstDel f2 = new FangFa().JianFa; c = f2(5, 4); Console.WriteLine(c); c = f1(5, 4) + f2(5, 4); Console.WriteLine(c); Console.ReadKey(); } }
namespace 委托 { class FangFa { public int JiaFa(int a, int b) { return a + b; } public int JianFa(int a, int b) { return a - b; }