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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                這是自己的思維導圖: ![](https://box.kancloud.cn/2016-03-16_56e9102721131.jpg) ###(一)泛化和繼承的區別? **1.定義看:** 1)泛化:是類元的 一般描述和具體描述,具體描述建立在一般描述之上,并對其進行了拓展 舉個例子,貸款就是一般性的描述,房貸就是一種具體的貸款,貸款的要求一般有借貸人,擔保人(都算貸款的條件描述)就可以了,房貸還要考慮房子的這個因素,便做到了拓展 2)繼承:利用已有的數據類型定義新的數據類型,新生成的數據類型不僅有新定義的成員還有舊的成員,這種機制叫做繼承 但從定義上去看的區別就相當于拿我自己舉例子吧:在家,我的身份是家里最小的孩子,都管我叫佳佳(小名),在廊坊師范學院都管我叫李建敏院長,好像看起來是一個人,但還是有所差別,因為當我是院長的身份是我就是一種機制代表而不在是我自己,單從定義上看確實很容易另人發懵,接下來就從用途上來進行說明 **2.用途看:** 泛化有兩個用途:1)當一個變量(如參數或過程變量)被聲明承載某個給定類的值時,可使用類(或其他元素)的實例作為值,這被稱作可替代性原則 并不清楚這和泛化有什么關系,也不知道這算什么用途,在大話設計模式中為了做到松耦合就用到了這個(代碼如下)** ~~~ <span style="font-size:18px;"><strong>public static IUser CreateUser()//在某類下面定義了一個IUser類型的方法 { IUser result=null;//聲明了一個IUser變量(叫對象應該更合適),來接收一個值 switch(db) { case"sqlserver"; result=new sqlserverUser();//返回了一個實例化的值,之所以能返回這樣的值便是sqlserverUser是IUser的一個子類 break; } return result;//此時便符合了用途1 }</strong></span> ~~~ ~~~ <span style="font-size:18px;"><strong> 2)給繼承機制一個可視化視圖,利用繼承機制實現,就是告訴你誰應該繼承誰,告訴你之后用面向對象中的繼承機制去實現,軍事的作用</strong></span> ~~~ ~~~ <span style="font-size:18px;"><strong> </strong></span> ~~~ 繼承的用途:在學C#的時候我們就已經接觸過了,1、繼承可以減少重復的代碼。比如父類已經提供的方法子類可以直接使用,不必再去實現。 2、繼承是多態性的前提。當然使用繼承的同時也提高了類的耦合度。 ~~~ <span style="font-size:18px;"><strong>using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 繼承 { public class Person//人類一會將被繼承,所以也是父類 { public string Name;//定義了一些基本字段 public int Age; //基類提供構造函數以進行初始化 public Person(string Name, int Age)//給name和age賦值 { this.Name = Name; this.Age = Age; Console.WriteLine(Name); Console.WriteLine(Age); } }<span style="color:#454545;"> </span><span style="color:#ff0000;">public class Student : Person//這就是繼承,在該類后面用冒號隔開,后面是要繼承的父類,因為繼承了person類所以就直接使用name和age</span><span style="color:#454545;"> { private int _Id; //調用Person構造函數 public Student(string Name,int Age,int _Id) :base(Name,Age)//利用構造函數賦值,如果與父類的字段一樣就用base進行區別 { this._Id=_Id; Console.WriteLine(_Id); } } class Program { static void Main(string[] args) { Student objStu = new Student("Tom", 20, 1001); } } }</span></strong></span> ~~~ **3.面向的使用對象** 泛化是在Uml中的,在繪制圖時用到的一種關系 繼承是面向對象編程時使用的,是oo的三大特征,是在寫代碼時要用到的一種機制 如果單純的說人與男人和女人是什么關系,說泛化關系或者繼承關系都沒問題 **4.小結:** 在代碼實現時用面向對象的繼承機制來實現泛化關系** ###(二)用例圖的作用? ![](https://box.kancloud.cn/2016-03-16_56e9102743173.jpg) 1.通過這個圖我們就可以知道老師需要的是1、2、3、4、5,而學生只需1、2 ?就可以了,由此可以需求分析作用 2.當我們做完系統功能是不能齊全,來看看就知道了,由此可知項目驗收的參考 3.看著這個我們就可以知道要實現哪些,由此可知過程的向導,類似工程圖 ###(三)UML圖可以分成幾類,每類有哪些? 總體可以分成靜態圖和動態圖兩大類 ![](https://box.kancloud.cn/2016-03-16_56e910275bf87.jpg) 還可以分成用例圖、靜態圖、行為圖、交互圖、實現圖五大類** ![](https://box.kancloud.cn/2016-03-16_56e910276cb5e.jpg) ###(四)交互圖有哪些,有什么區別? 有時序圖和協作圖,在代碼實現過程中比較有用的兩種圖,主要還是說一下區別吧,這兩種圖的區別還是比較明的: 1)時序圖注重的時間和邏輯,對象之間先做什么后做什么一目了然,針對的是全局所有的對象 2)協作圖是比較注重空間可以這么說,展示的是對象之間發生了什么樣的交互,利于分層 ###(五)UML圖歸何檔,有誰來看? 在軟件工程中感覺文檔就像電子書,UML圖就像視頻(好的還能轉換成代碼),搭配使用事半功倍,下面就是自己思考后的一些想法: 每個圖放在哪個文檔主要還是看該圖的作用,文檔有可行性分析文檔、需求文檔、概要設計文檔、詳細設計文檔、數據要求文檔、數據庫文檔、測試計劃文檔、測試結果文檔、軟件開發計劃、開發報告總結、操作手冊、用戶手冊、開發進度月報,十種圖可以這樣: ? ? ? ?用例圖:軟件開發計劃、需求文檔 ? ? ? ?類圖、對象圖:概要設計文檔 ? ? ? ?包圖:概要設計文檔 ? ? ? ?時序圖:開發進度月報、詳細設計文檔、測試計劃文檔、操作手冊 ? ? ? ?協作圖:詳細設計文檔 ? ? ? ?活動圖:詳細設計文檔、數據庫文檔、測試計劃文檔、用戶手冊 ? ? ? ?構件圖:測試文檔 ? ? ? ?狀態圖:詳細設計文檔、數據要求文檔 ? ? ? ?部署圖:用戶手冊** ###(六)總結 正如導圖中畫的一樣UNL中有泛化關系、擴展關系、包含關系、依賴關系、關聯關系(聚合關系、組合關系)、實現關系,是本來就存在的,某一個圖只是用到了某些關系,然后泛化關系和包含關系是肯定被執行的,擴展不一定被執行 對如何具體在代碼中實現很疑惑,但通過師傅和師姐的講解就是具體問題具體分析,可以做一些實驗,不要拘泥于自己沒有做過的東西,繼續向前吧
                  <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>

                              哎呀哎呀视频在线观看