第六次
一,关于方法
1,方法:把一些相关的代码封装在一个代码块里,可以给代码块添加一个名称,这个名称就是方法,可以通过调用这个方法名实现功能,方法可以重复用,减少代码重复率
2,方法语法: public static/非静态
3,public: 修饰符, 一般方法都是定义为公共
4,static (静态)/不写(非静态):静态方法找类名.方法名(),非静态方法对象.方法名()
5,void/非void: void只是功能的实现,没有结果, 非 void:有返回值的方法
6,方法名字 大驼峰命名法
7,()参数列表: 参数列表
8,{}: 方法体
****重点*****
1,方法的调用
【1】,静态方法找类名.方法名(), 非静态方法找对象.方法名()
【2】,先定义在调用
【3】,调用 本类里面可以省去对象或者类名
【4】, Program.Test1();//等待方法执行完之后 才会继续执行
二,参数列表
1,方法的参数:可以通过在调用的时候通过实参把值传递给方法中的形参,
2,实参: 有具体值的变量 int a =10
3,形参: 形式上的参数,没有具体值 只能把实参赋值给形参 例如方法定义参数列表(int a , int b)
三,方法参数的赋值问题
1,c#是面向对象的编程语言, 面向对象语言的三个基本特征:封装,继承,多态
2,值类型在赋值过程中 相当于把输入拷贝一份 备份一份传递过去 修改拷贝的一份不会影响另一个
3,
int a = 10;
int b = 20;
char c = '+';
Sum(a, c, b);
//a,b 以及num1 num2 的关系
//方法实参和形参中间会有赋值过程 即num1 = a num2 = b fuhao = c 目前a,bc 都属于值类型
Console.WriteLine(a + "--------" + b);//10 20;
四,方法参数赋值-值类型
1,引用类型 赋值问题(对象描述这个问题) 对象怎么来: 类创建对象的通用方法 类名 对象名 = new 类名();
2,引用类型变量存储的是内存地址,
3,普通变量的赋值场景
Girl g1 = new Girl();
g1.Name = "娘炮";
Girl g2 = g1;//把G1赋值给G2
g1.Name += " 提莫";
Console.WriteLine(g2.Name);//提莫
Console.WriteLine(g1.Name);//提莫
4,方法实参和形参的传递过程
Girl g3 = new Girl();
g3.Name = "冰女";
//调用方法的时候出现引用类型的赋值, a= g3
Test1(g3);//方法的实参和形参类型一致
Console .WriteLine(g3.Name+"-----------------");//都是修改之后的
5,参数不再是一个基本类型 而是对象类型
五,ref参数
1,ref参数的使用
定义方法的给参数添加ref关键字
2,调用带ref参数的方法
【1】,ref: 添加的目的其实就是想把参数改为引用类型的参数,实现在方法内部进行修改,达到修改实参的目的
【2】,使用ref要注意的 1,ref后面只能跟变量,不能跟具体的值
【4】,使用ref的时候必须给其一个初始值
【5】,Test2(10, ref 20);//ref后面只能跟变量,不能跟具体的值
3,,以下实参是值类型的时候。在方法内部修改形参不会影响到实参
要求能不能实现修改形参达到修改实参的目的
六,具有返回值的函数
1,有返回值的方法把void改成想要的类型 例如想返回一个字符串类型 把void改成string类
2,返回值的好处 可以其他地方使用这个结果 可以使用一个变量接收这个方法
3,例题,3个可乐瓶可以换一瓶可乐,现在有364瓶可乐问一共可以喝多少瓶可乐,剩下几个空瓶子
返回喝多少可乐(根据相关例题来理解)
“ 上文 为本次第六部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知.”