面向对象4-4 类库 委托

一、类库

1,这个不是类库

如果在公司内部,你不会某个代码(不是很机密的代码),你同事会,你同事在他的电脑上写了个代码。让你在自己的电脑上用,怎么做呢?看下面:

(1)你同事创建了一个qiuhe的类。

namespace ConsoleApplication59   //注意命名空间
{
    public  class qiuhe
    {
        public int jiafa(int a, int b)
        {
            return a + b;
        }
    }
}

(2)在文件夹中找到名字为:qiuhe.cs的文件,传你的电脑上,你在自己的电脑上,把这个文件粘贴到你所创建文件里,如下图(第一个),然后再你的main函数页面的右侧“解决方案”里面有个“显示所有文件”按钮,点击,就显示你所需要的qiuhe.cs文件,选中它,右键,选择“包括在项目中(J)”如下图(第二个)。添加成功!

                                                                                                                                                               

(3)在你操作页面引用qiuhe.cs的命名空间,然后进行qiuhe实例化,引用里面的jiafa方法。OK!!

2、真正的类库

如果你所在公司的主营业收入是靠卖代码,那么你卖给其他公司的代码就不能让他们看到里面具体的代码,就不能像上面那样子了,这就需要类库。

(1,)建立一个名字ClassLibrary5的类库,如图,然后点击“解决方案”中ClassLibrary5的“生成”

                      

(2)找到Debug中后缀为.dll的文件,粘贴到你做操作的文件(ConsoleApplication61)中的Debug中,然后点击右边“解决方案”的“引用”,找到该文件下你所粘贴的dll,文件。

  

(3)引用命名空间。进行实例化,引用方法,跟上面的一样。

二、委托

注意:你所委托的方法,必须与被委托方法的类型一样(必要前提条件)

1、声明委托类型,(main函数的上面)

2、创建委托变量(f),进行函数指向(new qiuhe().jiafa),进行赋值运算。

此时,f(aa,bb)就相当于jia(a,bb)。

完!!!

时间: 2024-10-27 13:28:13

面向对象4-4 类库 委托的相关文章

[.net 面向对象编程基础] (21) 委托

[.net 面向对象编程基础] (20)  委托 上节在讲到LINQ的匿名方法中说到了委托,不过比较简单,没了解清楚没关系,这节中会详细说明委托. 1.什么是委托? 学习委托,我想说,学会了就感觉简单的不能再简单了,没学过或都不愿了解的人,看着就头大,其实很简单.委托在.net面向对象编程和学习设计模式中非常重要,是学习.net面向对象编程必须要学会并掌握的. 委托从字面上理解,就是把做一些事情交给别人来帮忙完成.在C#中也可以这样理解,委托就是动态调用方法.这样说明,就很好理解了. 平时我们会

面向对象——一起来复习委托与事件!

事件与委托其实并不难理解,只是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码,调用一个类型的方法,会即刻出现方法执行的结果,这是符合逻辑的.但在某些情况中,同步代码未必满足需求,拿最近的打车软件打个比方,搭车者发送一个信息,就会推送给附近的司机,使用同步代码,搭车对象肯定需要调用司机中心对象,这样就出现了我们一直不愿意看到的情况:两个类型紧密地耦合在一起.既然要其它类型对自己的行为作出反应,亲自调用其类型的方法似乎不可避免,在同步代码中,很难避免这种紧密的类型调用关系.而

6.20 提纲 (var+类库+委托)

var万能变量: var a = 值/构造函数实例化: 给它什么类型的数据,它自动会变成相应的类型,不需要进行类型转换.   类库: 1.他人写好的.cs源代码文件,发送过来, 在自己的项目中添加进来,引用命名空间,调用方法:   一般用在公司内部,因为源代码文件可以看到,并且可以修改:   2.类库方式: 一个类库,就是一个dll结尾的文件,是源代码编译后的辅助文件: 在自己的项目中添加引用后,引用相对应的命名空间, 就可以实例化类库中的公共的类,并且可以调用公共方法   委托: 就是代理,事

面向对象基础——事件和委托

事件和委托 在典型的面向对象软件的一般流程中,代码段创建类的对象并在该对象上调用力法.在这种情况下,调用程序是主动代码,因为它们是调用方法的代码.而对象是被动的,因为只有当某种方法被调用时才会用上对象并执行某种动作. 然而,也可能存在相反的情况.对象可以执行一些任务并在执行过程中发生某些事情时通知调用程序.称这类事情为事件(event),对象的事件发布称为引发事件. 事件驱动处理对于.NET来说并不是什么技术,在事件驱动处理中,当有事件发生时,某些代码段会通知其他对事件感兴趣的代码段.当用户使用

类库 委托

1.C#源代码文件,包括在自己的项目中 2.类库,后缀名是.dll 优点:你写的方法别人看不到实现过程,保密性强 缺点:如果你写的方法有错误,别人无法更改 委托:可以理解为 函数的指针 delegate - 定义关键词 声明委托类型public delegate int FirstDel(int aaa, int bbb); 创建委托变量,赋值,函数指向FirstDel f1 = new JiaJian().Jia; int c = f1(10, 20); var:万能类型 object:所有类

js_面向对象设计和行为委托设计模式

最近换了新工作,面试过程中有多多少少的问题没有给的出答案,为自己的技术短板而促急. javascript中万物皆对象(键:值构成的一种数据),暂且不讨论这个句话的对与错,可以想象对象在javascript中的重要性,而面向对象的设计模式更是走向高级前段开发的必须要技能. 创建对象的三种方式 字面量创建对象 1 //1.创建一个空对象 2 var obj = {}; 3 4 //2.obj对象添加属性 5 obj.name = 'obj'; 6 //3.obj对象添加方法 7 obj.toStri

Java面向对象_常用类库api——二叉树数据结构实现

二叉树是每个节点最多有两个子树的有序树.通常子树被称为"左子树"和"右子树". 二叉树算法的排序规则: 1.选择第一个元素作为根节点 2.之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树 3.最后按照中序遍历的方式进行输出,则可以得到排序的结果(左->根->右) 8.3.10.1.6.14.4.7.13 1 public class BinaryTree { 2 private Node root; 3 public void addN

Java面向对象_常用类库api——日期操作类

Data类 类Data表示特定的瞬间,精确到毫秒,也就是程序运行时的当前时间 Data data=new Data();//实例化Data对象,表示当前时间 Calendar类 日历类,使用此类可以将时间精确到毫秒显示. //两种实例化方式 Calendar c=Calendar.getInstance();//Calendar类是抽象类,不能直接new Calendar c=new GregorianCalendar(); DateFormat类及子类SimpleDateFormat 例: 1

Java面向对象_常用类库api

StringBuffer 例: 1 public class StringBufferDemo { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 //使用String的写法连接字符串,比较占内存 9 String s="hello"; 10 String ss=s+"world"; 11 fo