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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## [接口](https://lingcoder.gitee.io/onjava8/#/book/01-What-is-an-Object?id=%e6%8e%a5%e5%8f%a3) ? 亞里士多德(*Aristotle*)大概是第一個認真研究“類型”的哲學家,他曾提出過“魚類和鳥類”這樣的概念。所有對象都是唯一的,但同時也是具有相同的特性和行為的對象所歸屬的類的一部分。這種思想被首次應用于第一個面向對象編程語言 Simula-67,它在程序中使用基本關鍵字**class**來引入新的類型(class 和 type 通常可互換使用,有些人對它們進行了進一步區分,他們強調 type 決定了接口,而 class 是那個接口的一種特殊實現方式)。 ? Simula 是一個很好的例子。正如這個名字所暗示的,它的作用是“模擬”(Simulate)類似“銀行出納員”這樣的經典問題。在這個例子里,我們有一系列出納員、客戶、帳號、交易和貨幣單位等許多"對象”。每類成員(元素)都具有一些通用的特征:每個帳號都有一定的余額;每名出納都能接收客戶的存款;等等。與此同時,每個成員都有自己的狀態;每個帳號都有不同的余額;每名出納都有一個名字。所以在計算機程序中,能用獨一無二的實體分別表示出納員、客戶、帳號以及交易。這個實體便是“對象”,而且每個對象都隸屬一個特定的“類”,那個類具有自己的通用特征與行為。 ? 因此,在面向對象的程序設計中,盡管我們真正要做的是新建各種各樣的數據“類型”(Type),但幾乎所有面向對象的程序設計語言都采用了`class`關鍵字。當你看到 “type” 這個詞的時候,請同時想到`class`;反之亦然。 ? 創建好一個類后,可根據情況生成許多對象。隨后,可將那些對象作為要解決問題中存在的元素進行處理。事實上,當我們進行面向對象的程序設計時,面臨的最大一項挑戰是:如何在“問題空間”(問題實際存在的地方)的元素與“方案空間”(對實際問題進行建模的地方,如計算機)的元素之間建立理想的“一對一”的映射關系。 ? 那么如何利用對象完成真正有用的工作呢?必須有一種辦法能向對象發出請求,令其解決一些實際的問題,比如完成一次交易、在屏幕上畫一些東西或者打開一個開關等等。每個對象僅能接受特定的請求。我們向對象發出的請求是通過它的“接口”(Interface)定義的,對象的“類型”或“類”則規定了它的接口形式。“類型”與“接口”的對應關系是面向對象程序設計的基礎。 ? 下面讓我們以電燈泡為例: ? ![reader](https://lingcoder.gitee.io/onjava8/images/reader.png) ? ~~~ Light lt = new Light(); lt.on(); ~~~ ? 在這個例子中,類型/類的名稱是**Light**,可向**Light**對象發出的請求包括打開`on`、關閉`off`、變得更明亮`brighten`或者變得更暗淡`dim`。通過聲明一個引用,如`lt`和`new`關鍵字,我們創建了一個**Light**類型的對象,再用等號將其賦給引用。 ? 為了向對象發送消息,我們使用句點符號`.`將`lt`和消息名稱`on`連接起來。可以看出,使用一些預先定義好的類時,我們在程序里采用的代碼是非常簡單直觀的。 ? 上圖遵循**UML**(Unified Modeling Language,統一建模語言)的格式。每個類由一個框表示,框的頂部有類型名稱,框中間部分是要描述的任何數據成員,方法(屬于此對象的方法,它們接收任何發送到該對象的消息)在框的底部。通常,只有類的名稱和公共方法在**UML**設計圖中顯示,因此中間部分未顯示,如本例所示。如果你只對類名感興趣,則也不需要顯示方法信息。
                  <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>

                              哎呀哎呀视频在线观看