我是靠谱客的博主 重要身影,这篇文章主要介绍C#从入门到精通(第四版)学习记录-- 第8、9章第八章 属性和方法第九章 结构和类,现在分享给大家,希望可以做个参考。

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修饰

  1. 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();
}
  1. 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
}
  1. 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#从入门到精通(第四版)学习记录--内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部