目錄
构造函数
example:
here:
无参构造函数
带参构造函数
隐式构造函数
方法重载
构造函数的重载
方法重载示例
首頁 php教程 php手册 深入C#类的方法

深入C#类的方法

Jul 06, 2016 pm 01:30 PM
static vo 函數 方法 深入

构造函数 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中可以看出,类的构造函数是类中的一种特殊方法,它具有一下特征

  1. 方法名与类名相同
  2. 没有返回值类型
  3. 主要完成对象的初始化工作。

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类有两个方法名相同但参数个数不同的构造函数,这种方式就是方法重载。

从以上示例我们可以总结出方法重载的特点

  1. 方法名相同
  2. 方法参数类型不同或参数个数不同
  3. 在同一个类中

需要注意的是方法名一参数类表相同的方法,近视返回值类型不同,不能称为方法重载、

方法重载示例

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()提供了多种重载方法,满足各种需求、


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) 微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人) May 01, 2024 pm 12:01 PM

微信刪除的人如何找回(簡單教學告訴你如何恢復被刪除的聯絡人)

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) 手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋) May 04, 2024 pm 06:01 PM

手機版龍蛋孵化方法大揭密(一步一步教你如何成功孵化手機版龍蛋)

手機字體大小設定方法(輕鬆調整手機字體大小) 手機字體大小設定方法(輕鬆調整手機字體大小) May 07, 2024 pm 03:34 PM

手機字體大小設定方法(輕鬆調整手機字體大小)

golang函數動態建立新函數的技巧 golang函數動態建立新函數的技巧 Apr 25, 2024 pm 02:39 PM

golang函數動態建立新函數的技巧

C++ 函數命名中參數順序的考慮 C++ 函數命名中參數順序的考慮 Apr 24, 2024 pm 04:21 PM

C++ 函數命名中參數順序的考慮

如何選擇手機膜,保護你的手機螢幕(選購手機膜的幾個重點與技巧) 如何選擇手機膜,保護你的手機螢幕(選購手機膜的幾個重點與技巧) May 07, 2024 pm 05:55 PM

如何選擇手機膜,保護你的手機螢幕(選購手機膜的幾個重點與技巧)

如何在Java中寫出高效和可維護的函數? 如何在Java中寫出高效和可維護的函數? Apr 24, 2024 am 11:33 AM

如何在Java中寫出高效和可維護的函數?

C++ 函式預設參數與可變參數的優缺點比較 C++ 函式預設參數與可變參數的優缺點比較 Apr 21, 2024 am 10:21 AM

C++ 函式預設參數與可變參數的優缺點比較

See all articles