1.方法的由来
方法(method)的前身是C/C++语言的函数
-方法是面向对象范畴的概念,在非面向对象语言中仍然成为函数
方法永远都是类(或结构体)的成员
-C#语言中函数不可能独立于类(或结构体)之外
-只有作为类(结构体)的成员时才被称为方法
方法时类(或结构体)最基本的成员之一
-最基本的成员只有两个:字段和方法(成员变量和成员函数),本质还是数据+算法
-方法表示类(或结构体)“能做什么事情”
为什么需要方法和函数
-目的1:隐藏复杂的逻辑
-目的2:把大算法分解为小算法
-目的3:复用(reuse,重用)
2.方法的声明和调用
声明方法的语法详解
-参见C#语言文档(声明/定义不分家)
-Parameter全称为“formal parameter”形式上的参数,简称“形参”
-Parameter是一种变量
方法的命名规范
-大小写规范
-需要以动词或者动词短语为名字
调用方法:
static方法的实例方法的区别
-static方法的调用:类名.函数
-实例方法的调用:实例类对象,函数
调用方法时的argument列表要与定义方法时的parameter列表相匹配
3.构造器
- 构造器(constructor)是类型的成员之一
- 狭义的构造器指的是“实例构造器”(instance constructor)
- 构造器的内存原理
4.方法的重载(Overload)
怎么声明带有重载的方法
- 方法签名(method signature)由方法的名称、类型形参的个数和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。方法签名不包含返回类型
- 实例构造函数签名由它的每个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成
- 重载决策(到底调用哪一个重载):用于在给定了参数列表喝一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。
5.如何对方法进行debug
- 设置断点
- 观察方法调用时的call stack
- Stop-in,step-over,Step-out
- 观察局部变量的值与变化