构造函数 example1: static void Main( string [] args){ SE engineer = new SE(); engineer.Age = 25 ; enginner.Name = 艾边成 ; // 省略其他属性赋值操作 Console.WriteLine(engineer.SayHi()); } 我们知道要使用类的属性和方法,首先要对类进行实例化,
构造函数
example1:
<span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span><span style="color: #000000"> [] args) { SE engineer</span>=<span style="color: #0000ff">new</span><span style="color: #000000"> SE(); engineer.Age</span>=<span style="color: #800080">25</span><span style="color: #000000">; enginner.Name</span>=<span style="color: #800000">"</span><span style="color: #800000">艾边成</span><span style="color: #800000">"</span><span style="color: #000000">; </span><span style="color: #008000">//</span><span style="color: #008000">省略其他属性赋值操作</span> <span style="color: #000000"> Console.WriteLine(engineer.SayHi()); }</span>
我们知道要使用类的属性和方法,首先要对类进行实例化,在实例1中通过SE engineer=new SE();创建SE对象,这种创建类实例的方法称为构造函数、
示例1中调用构造函数创建SE对象并为其属性一一赋值如果不赋值系统将给类的各个字段赋默认值。
从示例1中可以看出,类的构造函数是类中的一种特殊方法,它具有一下特征
- 方法名与类名相同
- 没有返回值类型
- 主要完成对象的初始化工作。
here:
我们在做开发时,一般不再构造函数中作对类的实例初始化以外的事情,不要尝试显示的调用构造函数
无参构造函数
语法:
<span style="color: #008000">//</span><span style="color: #008000">访问修饰符 类名()</span> <span style="color: #000000">{ </span><span style="color: #008000">//</span><span style="color: #008000">方法体</span> }
带参构造函数
语法:
<span style="color: #008000">//</span><span style="color: #008000">访问修饰符 类名(参数列表)</span> <span style="color: #000000">{ </span><span style="color: #008000">//</span><span style="color: #008000">方法体</span> }
隐式构造函数
当我们没有在类中显示的定义一个类的构造函数时,系统会自动给我们隐式的定义一个没有方法体的无参构造,这就是隐式构造函数,值得注意的是当我们显示的定义类的构造时系统就不会在为我们定义该类的隐式构造函数了
方法重载
构造函数的重载
example:
<span style="color: #000000">Public Class SE { </span><span style="color: #0000ff">string</span><span style="color: #000000"> id; </span><span style="color: #0000ff">string</span><span style="color: #000000"> name; </span><span style="color: #008000">//</span><span style="color: #008000">带参构造</span> <span style="color: #0000ff">public</span> SE(<span style="color: #0000ff">string</span> id,<span style="color: #0000ff">string</span><span style="color: #000000"> name) { </span><span style="color: #0000ff">this</span>.id=<span style="color: #000000">id; </span><span style="color: #0000ff">this</span>.name=<span style="color: #000000">name; } </span><span style="color: #008000">//</span><span style="color: #008000">无参构造</span> <span style="color: #0000ff">public</span><span style="color: #000000"> SE() { } </span><span style="color: #008000">//</span><span style="color: #008000">省略SE类的其它代码</span> }
从这段代码程序可以明显的看出,在SE类有两个方法名相同但参数个数不同的构造函数,这种方式就是方法重载。
从以上示例我们可以总结出方法重载的特点
- 方法名相同
- 方法参数类型不同或参数个数不同
- 在同一个类中
需要注意的是方法名一参数类表相同的方法,近视返回值类型不同,不能称为方法重载、
方法重载示例
example:
Public <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span><span style="color: #000000"> [] args) { Console.WriteLine(</span><span style="color: #800080">8</span><span style="color: #000000">); Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">Hello</span><span style="color: #800000">"</span><span style="color: #000000">); }</span>
在example中我们可以看出第一个WriteLine方法接受一个int类型参数,第二个WriteLine方法接受一个string类型参数。WriteLine()提供了多种重载方法,满足各种需求、

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器