1.方法:方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个方法就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。
2.在这里提到几个关键字:
private:私有只能在当前类自身内访问.
public:在整个命名空间都能访问.
3.静态类和非静态类:
静态(static)类:在使用时,不能进行实例化,类里面的成员必须全部是静态,访问类中的公开成员,直接使用类名点;
非静态类中的静态成员:在静态的方法中只能访问外部的静态成员,访问时,不需要使用实例化对象访问,直接使用类名进行访问.
4.方法的定义:
•[访问修饰符] [static] 返回值类型 方法名()
{
方法体;
}
•命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义
•方法的调用,对于静态方法,调用有两种方式
•如果在同一个类中,直接写名字调用就行了.
•或者类名.方法名();
5.递归算法:在一个方法中调用自己.
案例:斐波那契数列
控制台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _05斐波那契数列
{
class Program
{
static void Main(string[] args)
{
//斐波那契数列
//0,1,1,2,3,5,8,13,21,34,55.........
Console.WriteLine("请输入需要计算的斐波那契竖列的位数:");
int i = int.Parse(Console.ReadLine());
int result = GetRes(i);
Console.WriteLine("求出斐波那契数列第{0}位时:{1}", i, result);
Console.ReadLine();
}
static int GetRes(int i)
{
int res = 0;
if (i == 1)
{
res = 0;
}
else if (i == 2)
{
res = 1;
}
else
{
res = GetRes(i - 1) + GetRes(i - 2);//递归
}
return res;
}
}
}
6.方法的返回值类型
void:指这个方法没有返回值类型;
方法中采用return关键字进行返回结果.
7.方法的重载:在一个类中方法名相同,方法的参数列表不同(参数的个数,类型,不同的类型排列顺序不同).
例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _04_方法的重载
{
class Program
{
static void Main(string[] args)
{
Max();
Max(20, 22);
Max("mamaipi",123321);
Max(456789, "pipipi");
Console.ReadLine();
}
/// <summary>
/// 发发发
/// </summary>
static void Max()
{
Console.WriteLine("88888888");
}
/// <summary>
/// 求出俩数的最大值
/// </summary>
/// <param name="num1">第一个数</param>
/// <param name="num2">第二个数</param>
static void Max(int num1,int num2)
{
Console.WriteLine((num1 > num2 ? num1 : num2) + "最大");
}
/// <summary>
/// 谁输入的数是
/// </summary>
/// <param name="name">输入人的名称</param>
/// <param name="num">输入的数字</param>
static void Max(string name,int num)
{
Console.WriteLine(name + "输入了这个数:" + num);
}
/// <summary>
/// 一个数是谁输入的
/// </summary>
/// <param name="num4">这个数字</param>
/// <param name="name">名字</param>
static void Max(int num4,string name)
{
Console.WriteLine(num4 + "是" + name + "输入的");
}
}
}
8.特殊方法:
(1)构造函数:如果类中没有声明构造函数,则在调用类实例时,系统自动生成一个构造函数,如果我们声明一个构造函数,系统都不在理会.
作用:当类被实例化的时候执行的函数
构造函数可以重载
(2)析构函数:
一个类中只允许拥有一个或者没有析构函数,
作用:当这个类生成的对象被释放的时候自动执行的函数.
浙公网安备 33010602011771号