首先,从类(class)的角度(外部)来看方法。
先声明类(class)才能实例化类(class)而后对象(实例)的行为是方法(函数)
区别隶属于类(字段)还是隶属于对象(实例)
如前所知,类(class)是重点学习的一种 用户定义类型,在C#中是个很大的主题。
类(class)是一个能 存储数据 并 执行代码 的数据结构。包含:
- 数据成员:存储与类 或 类的实例相关 的数据。成员变量(字段)
- 函数成员:执行代码。成员函数(方法)
简要介绍字段:旧称,成员变量。是隶属于 类的变量
- 可以是任何类型,预定义类型 或 用户定义类型
- 和所有变量一样,字段用来保存数据。(可写入,可读取)
静态字段是指 与类型关联 的字段。static 是 类的成员
实例字段是指 与对象关联 的字段。instance是 对象的成员
注意:
- 先声明类(class)并不分配内存
- 通过 实例化类型而创建的对象 被称为 类型的对象 或 类型的实例。这两个术语可以互换
实际应用中,会合并这两个步骤,声明变量 和 使用对象创建表达式(new)初始化变量
- 声明类(class)类型的变量所分配的内存是用来保存引用,而不是用来保存类对象 实际数据 的
- 要为 实际数据 分配内存,需要使用 new 运算符,可以给 任意指定类型的实例 分配并初始化内存
类声明相当于蓝图,通过蓝图可以创建很多类的实例。实例成员是默认类型
- 实例成员:类的每个实例都是不同的实体,都有自己的一组数据成员,不同于 同一类的其他实例
- 静态成员:声明与类 而不是实例相关 的成员
方法:旧称,成员函数。是对象(实例)的行为
- 是具有名称的可执行代码块
- 可以从程序的很多不同地方执行,甚至从其他程序中执行
从方法(内部)的组成来看方法
如前,方法是类的函数成员
- 方法头:访问修饰符(可选),返回类型,方法名,参数
- 方法体:块语句
声明方法,包括
- 访问修饰符(可选)
- 返回类型
- 方法名
- 参数
- 块
访问修饰符是成员声明的可选部分
- 私有的(private)默认访问级别
- 公有的(public)
- 受保护的(protected)
- 内部的(internal)
- 受保护内部的(protected internal)
从类的内部访问成员,类内部的成员可以自由地互相访问
- 字段
- 方法
从类的外部访问成员,从类的外部访问实例成员,必须包括变量名称和成员名称,中间用点运算符
- 变量初始化,创建类的对象(new)
- 变量名称 + 点运算符 + 成员名称(方法名)访问
参数是特殊变量
- 可以根据需要返回多个值
- 能在方法开始执行时,把数据传入
参数根据位置不同,分为:
- 形参(parameter)是局部变量,声明在方法的参数列表中,而不是在方法体中
- 实参(argument)是表达式或变量,用于初始化形参
参数根据类型不同,分为:
- 值参数
- 引用参数
- 输出参数
- 参数数组
方法体是一个块语句,可以包含:
- 局部变量
- 控制流结构:选择语句,迭代语句,舔砖语句
- 方法调用
- 内嵌的块
- 其他方法,称为局部函数
总结下广义的变量,有7种:
- 局部变量
- 静态变量
- 实例变量
- 参数:值、引用、输出
- 数组元素