C#从入门到精通(第四版)学习记录-- 第8章
- 第八章 属性和方法
- 8.1 属性
- 8.1.1 属性概述
- 8.2 方法
- 8.2.1 方法的声明组合:
- 8.2.2 方法的参数类型
- 8.2.5 Main方法
- 第九章 结构和类
- 9.1 结构
- 9.1.1 结构概述
- 9.3 类
- 9.3.2 类的声明
第八章 属性和方法
8.1 属性
8.1.1 属性概述
- public: 不限制对该属性的访问
- private: 私有访问修饰符,只能在其声明类中使用
- protected:只能从其所在类和所在类的子类(派生类)进行访问
- internal: 只有其所在类才能访问
8.2 方法
8.2.1 方法的声明组合:
- 包含一个有效的访问修饰符组合
- 包含的修饰符彼此各不相同
- static、virtual和override修饰符不能同时存在,只能单独存在
- new和override修饰符不能同时存在,只能单独存在
- 若声明了abstract修饰符,则不能再声明static、virtual、sealed或extern
- 若声明了private修饰符,则不能再声明virtual、override或abstract
- 若声明了sealed修饰符,则该声明应该包含override修饰符
8.2.2 方法的参数类型
实参:传给方法的值
形参:接受实参的变量
声明方法参数时,可以用关键字params、ref和out修饰
- params参数:指定在参数数目可变时采用的方法参数,必须是一维数组;
static void PrintParams(params string[] list)
{
foreach (var item in list) { Console.WriteLine(item);}
}
static void Main(string[] args)
{
string[] strName = new string[3] {"hello","world","!" };
PrintParams(strName);
Console.ReadLine();
}
- ref参数:引用传递,相当于C++中的&修饰,传入的是地址;若要使用,方法声明和调用方法都必须显示ref关键字;传递前要初始化传入的变量,否则编译报错
引用类型,不写ref,也是传递的引用(类、数组等(结构体是值类型))
static void UpdateParam(ref int iValue)
{
iValue = 10;
}
static void Main(string[] args)
{
int iV = 1;
UpdateParam(ref iV); //若iV未初始化,会报错
Console.WriteLine("iV:{0}.", iV); //iV:10
}
- out参数:定义为输出参数,会导致参数通过引用来传递,但传递前可以不初始化传入的变量;若要使用,方法声明和调用方法都必须显示out关键字
static void UpdateParam(out int iValue)
{
iValue = 10;
}
static void Main(string[] args)
{
int iV;
UpdateParam(out iV); //若iV未初始化,会报错
Console.WriteLine("iV:{0}.", iV); //iV:10
}
8.2.5 Main方法
Main方法默认访问级别为private,使用时注意:
- Main方法是程序的入口点,程序控制在该方法中开始和结束;
- 该方法在类或结构的内部声明,必须为静态方法,且不应该为公用的
- 可以有void会int返回值
- 可以有参数,也可以无参数
- 参数可以作为从零开始索引的命令行参数来读取
第九章 结构和类
9.1 结构
9.1.1 结构概述
结构通常用来封装一组相关的变量,还可以包括构造函数、常量、字段、方法、属性、运算符、事件和嵌套类型等。若同时包括以上几种成员,应考虑用类。结构特点:
- 结构是值类型,类是引用类型
- 向方法传递结构时,结构时通过传值方法传递的,而不是引用
- 结构的实例化可以不使用new运算符
- 结构可以声明构造函数,但必须带参数
- 结构不能继承,所有结构都直接继承自System.ValueType,后者继承自System.Object
- 结构可以实现接口
- 在结构中不能初始化实例字段
- 在结构声明中,除非字段被声明为const或static,否则无法初始化
9.3 类
9.3.2 类的声明
类的常用修饰符:
- new : 仅允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员;
- public: 不限制对该类的访问;
- protected: 只能从其所在类和所在类的子类(派生类)进行访问;
- internal: 只有其所在类才能访问;
- private: 只有.NET中的应用程序或库才能访问;
- abstract: 抽象类,不允许建立类的实例;
- sealed: 密封类,不允许被继承;
最后
以上就是重要身影最近收集整理的关于C#从入门到精通(第四版)学习记录-- 第8、9章第八章 属性和方法第九章 结构和类的全部内容,更多相关C#从入门到精通(第四版)学习记录--内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复