C#教程第5讲方法1(学习笔记)

第5讲  方法1
快乐乔巴的博客
视频讲师:陈广老师 
    今天我们来讲一下C#中的方法。
    PPT:方法是包含一系列语句的代码块。它实现了一定的功能,并拥有一个便于识别的名称,也便于在程序中调用。
    声明方法的语法
    成员访问修饰符  返回值  方法名称(参数列表)
    {
        //方法的内容
    }
    声明一个方法首先要定义它的访问修饰符,比如是Public,还是Private等等。接下来要写这个方法的返回值的类型,如果没有返回值则用void来代替。接下来是方法的名称由自己定义,方法的名称不可重复,大小写视为不同,这个不可重复是指的同一个类,或者是说同一个命名空间之下,如果处于不同命名空间之下方法的名称是可以相同的。接下来在小括号中编写参数列表,参数可以没有,也可以是多个,参数的类型可以是一个类型,也可以是多种类型,多个参数之间用逗号分隔。最后是方法的内容,方法的内容包含在{}之中,下面我们来简单编写一个方法。
    我们新建一个文件Method.cs:
接着我们进行编译:

屏幕上打印了一行字,没有问题。下面呢,我们把上的输出语句声明成一个方法。

我们编译程序结果也是一样的,我们是调用MyMothod这个方法在屏幕上打印了"this is a Method"这些字。
好,下面我们写一个如何带返回值的方法,代码如下:
我们执行编译效果如下:

我们看屏幕上打印出了当前的时间。下面我们演示一下带参数的方法,代码如下:

我们执行编译代码,并且在分别输入join,Tom,aaa和end,来检验我们程序的效果,如图:

从刚才的运行过程我们可以看出,程序不断的等待用书输入,并不断的调用MyMethod方法,而且打印出你所输入的字符串。
下面我们演示一下带多个参数的方法,代码如下:

执行编译代码,如图:

我们看屏幕上打印出i+k=8,也就是5加3等于8,得到了正确的结果。
    下面我们来讲一下共享变量。C#语言是一门完全面向对象的语言,它屏弃了全局变量,但是如果两个以上的方法要共享一个变量则要将此变量声明在类(Class)阶层。和局部变量不同的地方在于,类级别变量的生命周期是在此类加载到内存时就会自动地分配内存空间,要等到此对象被Common Language Runtime的垃圾回收器(Garbage Collector)回收时,才会释放掉所占用的内存空间。   
    以前我们在使用C++编程时,需要手工的编写代码去释放我们内存空间中编写的类或方法,而在C#中就不再需要做这样的工作了。C#中的垃圾回收不在我们的程序中进行,而是由.NET统一在适当的时候进行。这大大减少了写出不合理代码的可能性,也增加了编程的效率,使得我们可以更加专注于程序的逻辑,下面我们来演示一下如何共享变量。
    我们该一下刚才的代码,代码如下:

我们看看静态变量i是否在2个实例a和b之间共享,编译执行代码:

    屏幕上显示的结果是2,也就是说add()这个函数被调用了2次,而这次调用是通过2个不同实例来调用的。换句话说,不管类A创建了多少个实例,所有的实例始终共享这个i。这样通过static这个关键字声明一个静态变量就可以实现全局函数的功能了。
    现在我们来做个实验,删除static这个关键字,我们看看程序会不会报错~会,编译不通过,错误原因就是A.i。也就是说非静态的变量不能直接使用名称来访问,但是我们可以使用实例来访问。假如改成b.i通过实例b来访问i。代码中同样调用了2次add()方法,我们进行编译看执行的结果却是1。也就是说a和b这2个实例里面各有一个i的副本,而b实例中的i只增加了一次,所以结果是1。好这节课先讲到这里。
由快乐乔巴听课摘写笔记
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章