<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 構造函數中對象的創建 構造函數用于對變量初始化 ``` Program pro = new Program(); //使用new 關鍵字創建構造函數 ``` # 調用對象 如果在構造函數之前已經有定義變量,則使用`this.xxx`來初始化: ``` class Person { string name, action; public Person (string name, string action)//創建構造函數的參數,使之與已定義的name, action同名 { this.name = name; this.action = action; //因為 Person 構造函數中的兩個變量與最開始時候定義的同名,此時用 this 這個關鍵字來初始化 } } ``` # 例如:想輸出以下內容: ![](https://ws4.sinaimg.cn/large/006tKfTcgy1frx2w7iiwuj30780ajaat.jpg) > 思路: > 1. 識別變量:題目中有不同人物,但對不同人物來說,都有姓名、動作、語言三個內容。所以設置三個變量string name、string actiongStr、string shoutStr分別表示三個部分。 > 2. 定義類:Person 類以及默認的 Program 類。Person 類:用來定義題目中人物需要的屬性以及方法。Program 類:用來最終呈現在屏幕上或 console 控制臺上。 > 3. 細化類中的屬性及方法(如下)。 ## 1. Person 類: > 用來定義題目中人物需要的屬性以及方法。 - 1.1 定義變量 => string name、string actionStr、string shoutStr - 1.2 屬性 => 通過有參構造函數Person將上述定義的變量初始化,使用 this 關鍵字。 ``` class Person { string name, actionSrt, shoutStr; //以下為構造函數的屬性設置 public Person(string name, string actionStr, string shoutStr) { this.name = name; this.actionStr = actionstr; this.shoutStr = shoutStr; } } ``` - 1.3 方法 => 通過方法設置(分別取名action以及shout)。方法可是是變量的組合,或者是對變量進行某種操作。 ``` class Person { …… public Person……(接上部分) //以下為方法的設置 public action() { console.writeline(name + actionStr); } public shout() { console.writeline(name + shoutStr); } } ``` ## 2. Program 類: > 用來最終呈現在屏幕上或 console 控制臺上。 一般在這個 Program 中創建對象。注意要在 默認的Main 方法里面。 - 2.1 創建對象 => 創建上述題目中,曹操、趙云、張郃、張飛、張遼、關羽等人作為具體的對象。一旦創建以后,則這個對象(比如曹操caocao),即擁有了一定的屬性,以及一定的動作,并且由于我們創建的是有參構造函數,所以在創建對象的時候需要直接賦值。 ``` class Person { …… } //(接上述內容) class Program { static void Main(string[] args) { Person caocao = new Person("曹操", "落荒而逃", "哈哈大笑"); Person zhaoyun = new Person("趙云", "攔住去路", "我是趙子龍,你哪里跑!"); Person zhangfei = new Person("張飛", "攔住去路", "我是張飛,你哪里跑!"); Person zhanghe = new Person("張頜", "上前救主", "我是張頜,莫動我主公!"); Person zhangliao = new Person("張遼", "上前救主", "我是張遼,莫動我主公!"); Person guanyu = new Person("關羽", "攔住去路", "長嘆一聲"); } } ``` - 2.2 開始寫要呈現在console 控制臺的內容了 => ``` class Person {……} class Prgram { static void Main() { ……(接上述內容) caocao.shout(); //括號一定要寫。注意此時直接調用對象中的方法。會直接顯示(姓名+說的話) zhaoyun.action(); zhaoyun.shout(); zhanghe.action(); zhanghe.shout(); caocao.action(); console.writeline();// 表示空一行,無其他意思 caocao.shout(); zhangfei.action(); zhangfei.shout(); zhangliao.action(); zhangliao.shout(); caocao.action(); console.writeline(); caocao.shout(); guanyu.action(); guanyu.shout(); console.readline(); } } ``` ## 完整代碼如下: ``` using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { public class Person { string name, actionStr, shoutStr;//定義三個字符串變量 //使用構造函數對上述三個變量進行初始化 public Person(string name, string actionStr, string shoutStr) { this.name = name; //人 this.actionStr = actionStr;//做的動作 this.shoutStr = shoutStr;//喊一下 } //創建方法。以下方法中,分別將上述定義的三個變量進行組合,得出不同的方法。 public void action()//也就是,執行了這個action動作以后, { Console.WriteLine(name + actionStr);//誰來執行攔截動作(人+動作) } public void shout() { Console.WriteLine(name + shoutStr);//誰來喊(人+喊) } public void escape() { Console.WriteLine(name + "落荒而逃"); } } public class Program { static void Main(string[] args) { //在該例子中,每一個對象的三個參數(name,actionStr,shoutStr)都是固定的。 Person caocao = new Person("曹操", "落荒而逃", "哈哈大笑"); //在Main方法里面創建有參對象,參數與Person中的參數個數一致,意思一致,類型一致 Person zhaoyun = new Person("趙云", "攔住去路", "我是趙子龍,你哪里跑!"); Person zhangfei = new Person("張飛", "攔住去路", "我是張飛,你哪里跑!"); Person zhanghe = new Person("張頜", "上前救主", "我是張頜,莫動我主公!"); Person zhangliao = new Person("張遼", "上前救主", "我是張遼,莫動我主公!"); Person guanyu = new Person("關羽", "攔住去路", "長嘆一聲"); Console.WriteLine("曹操赤壁失利,敗走華容道"); caocao.shout(); //調用方法,則自動會根據上述方法定義中的不同變量進行組合及操作 Console.WriteLine(); zhaoyun.action(); //括號不能漏寫,否則會提示錯誤 zhaoyun.shout(); zhanghe.action(); zhanghe.shout(); caocao.action(); Console.WriteLine(); caocao.shout(); zhangfei.action(); zhangfei.shout(); zhangliao.action(); zhangliao.shout(); caocao.action(); Console.WriteLine(); caocao.shout(); guanyu.action(); guanyu.shout(); caocao.action(); Console.ReadLine(); } } } ``` # 對象的銷毀 對象的生命周期: 構造函數 => 邏輯操作 => 析構函數 兩種銷毀方式: 1、超出作用范圍,將被銷毀; 2、當對象被設置為 null 時,將被銷毀。 # 類與對象的關系 類、對象 ![](https://ws4.sinaimg.cn/large/006tKfTcly1frx4cj68hbj30ec070js0.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看