<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 功能強大 支持多語言、二開方便! 廣告
                # 序言 > 來源:http://blog.csdn.net/besidemyself/article/details/6376405 > 譯者:[besidemyself](http://my.csdn.net/besidemyself) 沒有能解決所有問題的編程技術。 沒有只產生正確結果的編程語言。 沒有從頭開始每個項目的程序員。 面向對象程序設計幾乎是當今包治百病的——雖然它已經發展了超過10年之久。作為一種核心語言,一些技術專家對它的研究已經付出很多,從而形成了很好的編程規則,這些規則我們一直引以為鑒了長達20年之久。C++(Eiffel,Oberon-2,Smalltalk… 由你選擇)是一種新的編程語言,因為它是面向對象的——盡管你不需要使用它或許你不想用(或不知道怎么用),但是你卻能夠使用平凡的ANSI-C (標準化)像使用這些面向對象語言一樣的方便。在項目當中,僅僅面向對象語言允許代碼重用——雖然一些子程序的思想就像計算機的發展歷史一樣久遠,好的程序員卻總是會利用工具箱或庫來使用這些子程序。 這本書的本意并不是贊揚面向對象程序或批判老的編程規則。我們只是簡單的使用ANSI-C來發掘面向對象語言是怎么實現的,技巧方法是什么,為什么它能夠幫助我們解決比較大的問題,和我們怎么能利用普遍性方法和編程來更早的捕獲錯誤。沿著這么一個宗旨,我們會邂逅一些行話—類,繼承,實例,鏈接,方法,對象,多態等等—不過我們剝去其神奇的外衣,看如何轉化為一種我們一直都知道和做過的事情。 我很樂意的發掘ANSI-C(標準化)是一種全面的面向對象語言。為了能夠分享這種樂趣,在你開始之前,你需要適當的對ANSI-C 有一定的流利程度—熟悉結構體,指針,原型,并且掌握函數指針是必須的。貫穿全文,你會遇見所有的新說法 — 依照Orwell和Webster的話:“設計是為了縮小思想的廣度”—并且我會盡力證明它是怎樣的結合所有的這些你一直想連續使用的好的方法,結果,你很可能成為一個精通ANSI-C的程序員。 前六章建立ANSI-C面向對象程序設計的基礎。我們將以一個隱藏抽象數據結構的很精確的信息開始,然后通過結構體的擴展,基于動態鏈接和代碼繼承的方式來增加功能屬性。最終把他們放到一起構成一個可繼承的類使得代碼更加容易維護。 編程需要規則。好的程序遵循很多規則,大量的規則,標準,自我防御的方式往往能使事情做對做好。程序員要學會使用工具。優秀的程序員編寫工具去處理日常一些編程例程。ANSI-C 面向對象程序要求有一定數量固定的代碼 — 即名稱改變,數據結構沒有變。因此,在第七章我們建立了一個小的預處理器創建一個必須的樣板,它更像另外一種新的面向對象語言(也許是yanoodl)但是它并不被如此看待,OOC(面向對象程序設計ANSI-C)拓新而出,更讓我們專注于在解決問題上使用創造性方面的一種新技巧。OOC有很強的可塑性。我們設計出它,理解它并且可改變它,能夠依照我們的意愿去寫ANSI-C代碼。 接下來的章節中將精煉我們的技術。在第八章節,我們增加了動態類型檢查預先的捕獲異常。第九章中我們編排了自動初始化機制防止其它缺陷類的產生。第十章,我們介紹了多態以及怎樣相互協作達到簡化的目的。例如:產生標準主程序的日常事務。更多的章節將與使用類的方法,存儲,和加載結構體數據相關聯,這些結構體數據遵循一致性策略。并且通過嵌套異常處理器系統來做到一致性錯誤恢復自愈。 最終,在最后一章節中,我們避開ANSI-C的局限性并且實現了一個鼠標操作的計算器,首先對于 curses 終端,接下來應用于 X Window 系統(如果你想了解什么事curses 和x window 查閱相關資料)。 這個例子清晰的證明了我們使用類和對象所做的設計和實例的優美性,雖然我們必須處理外在的庫和類層次特性。 在每個章節的前面都有一個概要說明,在這個概要中我會給出一個綱要,來介紹章節中的主要內容和接下來該做什么,這對于略讀此章的讀者很有幫助。大部分章節建議做一下練習;但是這并不意味著很正規,因為我們是從零開始建立這樣的技術。我已經避免制造和使用龐大的類庫,即使一些例子這樣做似乎很有利。如果你想更好的理解面向對象程序設計,掌握這項技術和考慮代碼設計顯得尤為重要;依靠其他人的類庫來做開發是稍后小菜一碟的事。 這本書的一個重要的組成部分是附上了代碼軟盤---- 使用DOS文件系統,包含了單獨的SHELL命了來創建所有章節中的代碼。軟盤上有一個ReadMe 文件----再你生成代碼之前先來閱讀一下它。編程,就像使用如 diff 的程序,跟蹤基類的演變對你會很有好處的。OOC在接下來的章節中會有很好的體現。 這些技術的描述出自我對C++的覺悟,當我需要使用面向對象技術去實現交互式編程語言時。并且意識到在C++中不能鑄造一個便攜式的實例。我轉向我所了解的,即ANSI-C,我能夠完全做我必須做的。我已經在教學過程中把這項技術分享給很多人,包括我的工作場所。而且其他人已經使用這些方法很好了完成了他們的工作。這本書就駐留于此,因為對我的腳注卻顯得尤為暗淡。Brian Kernighan ,我的出版社,Hans-Joachim Niclas和John等等,并沒有鼓勵我出版這些筆記(有機會,在適當的時候會從新組織一次),我感謝他們以及幫助我去繼續這本書的人,最后,感謝我的家人——并且,不,面向對象機制不會取代“切片面包”。 Hollage, October 1993 Axel-Tobias Schreiner
                  <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>

                              哎呀哎呀视频在线观看