c#笔记12 类:类成员补充02-尊龙官方平台

c#笔记12 类:类成员补充02

el/2024/3/25 15:18:23

c#笔记12 类:类成员补充02

——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。

写在前边

*复习:类是一种能存储数据并执行代码的数据结构,它包含:

  • 数据成员——存储数据
    包括:字段、常量
  • 函数成员——执行代码
    包括:方法,属性,构造函数,索引,运算符,事件,析构函数

上两篇笔记 c#笔记10 类:基础
c#笔记11 类:类成员补充01
已经介绍了九种类成员类型中的五种(字段,方法,常量,属性和索引)。这一篇将介绍更多类型的类成员(构造函数和析构函数)。

1. 构造函数

类的构造函数是类的一个特殊的函数成员,当一个类被实例化为一个对象时,将会调用构造函数完成对象的初始化

1.1 实例构造函数

实例构造函数在类的每个新实例创建的时候执行

声明方法:

//访问修饰符 类名(参数)
{//初始化;
}

例:

class student
{private string name;public student(string name){this.name=name; }
}

1).没有返回类型,因为固定返回对应的对象
2).构造函数的方法名必须和类名一致
3).不指定时,将有一个默认构造(默认的构造函数没有任何参数)
4).如果指定,默认构造将会失效(但可重载出默认构造)

例:system命名空间中的random类,它是由blc提供的用于产生随机数的类,它默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数。

random

this关键字:

1).用于区分类的成员和本地变量,或参数
2).作为调用方法的实参

  • 指代自身的实例对象
  • 指向自身的构造函数

1.2 静态构造函数

构造函数也可以声明为static,这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.net自动调用。

通常,静态构造函数用来初始化静态的字段

1).没有返回类型,因为固定返回对应的对象
2).构造函数的方法名必须和类名一致
3).类只能有一个静态构造函数,而且不能带参数
4).静态构造函数不能有访问修饰符
5).类既可以有静态构造函数,也可以有实例构造函数
6).静态构造函数不能访问所在类的实例成员,因此也不能使用this关键字访问
7).不能从程序中显式调用静态构造函数,它们被系统自动调用

例:下边代码中,类a包括没有赋初始值的静态字段x,和静态构造函数,类b包括赋初始值的静态字段y和静态构造函数。在main函数执行时,.net已经提前自动调用了两个静态构造函数,所以执行顺序为:

static a()下的 b.y ==> static b()下的console.writeline ==> static a()下的console.writeline

class a
{public static int x

http://www.ngui.cc/el/5126712.html

相关文章

c#笔记13 静态类与单例模式

c#笔记13 静态类与单例模式 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边 *复习:类是一种活动的数据结构 程序的数据和功能被组织为逻辑上相关的数…

c#笔记14 方法01

c#笔记14 方法01 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边 在 c#笔记10 类:基础 中,我们已经知道,方法是类中重要的一个函数成员 除了类中,…

c#笔记15 方法02

c#笔记15 方法02 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边 *复习:方法是具有名称的可执行代码块,当方法被调用时,它执行自己所含的代码,然后…

c#笔记进阶篇07 事件

c#笔记进阶篇07 事件 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边 事件的很多方面和委托相似。事件就好像被简化的针对特殊用途的委托。——人民邮电…

c#笔记16 命名空间和程序集

c#笔记16 命名空间和程序集 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边 *复习:一个 c# 程序…

《unity shader入门精要》笔记03 第3章

基础篇 第3章 unity shader基础 ——本系列是基于人民邮电出版社《unity shader入门精要》(冯乐乐著 )的自学unity shader笔记,如果您发现了本文的纰漏,还望不吝指正。 基础篇 第1章 欢迎来到shader的世界第2章 渲染流水线第3章…

经验 - r - 替换字符串中部分字符

r使用gsub()函数提取字符串中部分字符,并进行替换。 使用示例: a <- "abc.d" b <- gsub("a", "x", a) b变为:"xbc.d" 当字符串中存在通配符,如"."时。 可以按如下…

经验 - r - raster package

r中的raster package提供了对栅格数据类型的大量操作, 包括读取、输出、栅格计算等。 1. writeraster 此函数将raster对象输出为外部文件,可以为binary、ascii、geotiff等多种格式。 注意输出binary文件时,为 行优先模式 输出。 2. 绘制ra…

implied do loop of fortran

与传统的do语句相比,implied do语句结构简单(仅一行代码)。 示例: program mainimplicit noneinteger :: iinteger(dimension 3) :: iarrayiarray 4print *, (iarry(i), i 1, 3) end program main 将打印出: 4 …

谷歌地球图像下载

做模型经常要出模型区图, 遥感图片是最好的底图, google earth是最好的来源。 下载ge图像的时候, 经常出现:“图像正在准备中,这可能需要一分钟”的提示。 尊龙官方平台的解决方案: 1. 工具-选项中 高速缓存选项卡&…
网站地图