【C#初学】


一、方法的由来

method(方法)的前身是c/c++语言中的函数,方法是面向对象里面的概念,简单来说,当函数以类的成员出现的时候就是方法。别名(成员函数)

  • 方法永远都是类(或结构体的成员)
    方法不能独立于类之外
  • 是类(或结构体)最基本的成员之一(方法和字段)
    字段与方法–成员变量与方法
    方法表示类“能做什么事情”
  • 为什么需要方法和函数
    1.隐藏复杂的逻辑
    2.把大算法分解为小算法
    3.复用(reuse ,重用)
#include<stdio.h>
//Function 
double Add(double a ,double b)
{
return a+b;
}
int main()
{
double x=3.0;
double y=5.0;
double result=Add(x,y);
printf("%f+%f=%f",x,y,result);
return 0;
}

c++

#inclued<iostream>
double Add(double a ,double b)
{
return a+b;
}
int main()
{
double x=3.0;
double y=5.0;
double result=Add(x,y);
std::cont<<x<<"+"<<y<<"="<<result;
return 0;
}

二、方法的定义与使用

  • 声明方法的语法详解
    方法的定义与声明是一个意思
    方法头,方法体,形参,返回值类型
    public double GetCricleArea(double r)
    {

}

  • 方法命名规范
    方法命名要是动词或者动词短语,命名规范遵循AaaaBbbCcc
  • 重温静态方法
    静态方法隶属类
  • 调用方法
    语法:方法名后面跟上一对圆括号(方法调用操作符),在里面写入必要的参数(实际参数),实际参数要与形参相匹配
class Program{
static void Main(string[] args)
{
Calculator c = new Calculator();
double result= Calculator.GetCircleArea(3);
}
class Calculator
{
public static double GetCircleArea(double r)
{
  result =3.14* r*r;
}

}

三、构造器

四、方法的重载

方法的重载(Overload)方法名可以相同,方法的签名不一样

  • 声明带有重载的方法
    1.方法签名,由方法的名称,类型形参的个数和它的每一个形参(按从左到右的顺序)的类型和种类(值,引用或输出)组成。方法签名不包含返回类型
class Calculator
        {
          public int Add(int a,int b)
            {
                return a + b;
            }
            public int Add(int a,int b,int c)
            { return a + b + c; }
          public double Add(double x,double y)
            {
                return x + y;
            }
        }

2.实例构造函数签名由它的每一个形参(按从左到右的顺序)的类型和种类(值,引用或输出)组成。
3.重载决策(到底用哪一个重载):用于在给定了参数列表和一组候选函数成员情况下,选择一个最佳函数成员来实施调用。

 class Program
    {
        static void Main(string[] args)
        {
            Calculator c=new Calculator();
            int x= c.Add(100, 100);
            Console.WriteLine(x);
           
        }
        class Calculator
        {
            public int Add(int a, int b)
            {
                return a + b;
            }
            public int Add(int a, int b, int c)
            { return a + b + c; }
        }

五、如何对方法进行Debug

  • 设置断点
  • 观察方法调用时的call stack
  • Step-in,Step-over,Step-out
  • 观察局部变量的值与变化

六 、方法的调用与栈*

方法调用时栈内存的分配

  • stack Frame-一个方法被调用的时候,在栈中的布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值