91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

進階面向對象(十一)

發布時間:2020-07-11 20:16:47 來源:網絡 閱讀:340 作者:上帝之子521 欄目:編程語言

        在日常生活中,我們都習慣于對事物進行分類。那么,這種分類的思想是否也可以引入程序設計中呢?面向對象的意義在于:將日常生活中習慣的思維方式引入程序設計中;將需求中的概念直觀的映射到解決方案中;以模塊為中心構建可復用的軟件系統;提高軟件產品的可維護性和可擴展性。

        那我們來介紹下面向對象中的兩個基本概念:類和對象。類:指的是一類事物,是一個抽象的概念。對象:指的是屬于某個類的具體實體。類是一種模型,這種模型可以創建出不同的對象實體;對象實體是類模型的一個具體實例。一個類可以有很多對象,而一個對象必然屬于某個類。

        下來我們以生活中的類和對象為大家介紹下這兩個概念。我們一提到老虎,并沒有說什么老虎,在這顯然就是個類了。老虎還分為華南虎、東北虎以及孟加拉虎等。那么說到華南虎,我們也不知道說的是哪只老虎,這時它們顯然也是類了。如果我們說西安動物園里的大毛華南虎,這時就具體到某只老虎了,顯然大毛便是一個具體的對象啦。再比如說電腦,它分為Dell、HP以及Sony等。具體到某個品牌的電腦時,才能說是對象。否則便是類了。

        說了這么多,類和對象的意義是什么呢?類用于抽象的描述一類事物所特有的屬性和行為,如電腦擁有 CPU,內存和硬盤,并且可以開機和運行程序;對象是具體的事物,擁有所屬類中描述的一切屬性和行為,如每一只老虎都有不同的體重、不同食量以及不同的性情等。

        下來我們就來看看類之間的基本關系:繼承和組合。繼承:從已存在類細分出來的類和原類之間具有繼承關系,繼承的類(子類)擁有原類(父類)的所有屬性和行為。組合:一些類的存在必須依賴于其他的類,這種關系叫組合;組合的類在某一個局部上由其它的類組成

        我們用圖來看看什么是繼承(圖一)和組合(圖二)

進階面向對象(十一)

                                        圖一

進階面向對象(十一)

                                        圖二

        我們來看看類的表示法

進階面向對象(十一)

        我們再來簡化下

進階面向對象(十一)

        我們發現這個雖然比較簡潔了,但是類之間的繼承關系沒有表示出來,繼承而來的屬性和行為需要重復聲明,那么我們再次進行改進

進階面向對象(十一)

        我們發現這個就比較好看多了,但是需要使用下劃線來表示屬性和行為,不適合于編程開發,我們再來改進下

進階面向對象(十一)

        我們看到這個已經接近程序的格式了,但是它使用的是中文進行屬性和行為的描述,絕大多數編譯器無法接受啊。那我們再次進行改進

進階面向對象(十一)

        我們用 struct 來表示類,已經看起來很接近編程語言了。我們如何用程序設計中的概念描述類的屬性和行為呢?

進階面向對象(十一)

        這下看起來便符合程序了。我們來編譯下,看看 g++ 編譯器是否支持呢?程序如下

#include <stdio.h>

struct Biology {
    bool living;
};

struct Animal:Biology {
    bool movable;
    void findFood() {}
};

struct Plant:Biology {
    bool lgrowable;
};

struct Beast:Animal {
    void sleep() {}
};

struct Humann:Animal {
    void sleep() {}
    void work() {}
};

int main()
{
    
    return 0;
}

        編譯結果如下

進階面向對象(十一)

        我們發現已經正確編譯了,也就是說這樣的寫法已經被 g++ 編譯器所支持了。通過對面向對象的學習,總結如下:1、面向對象時當今 軟件開發中的重要方法;2、類和對象時面向對象理論中的基本概念,類和對象均來源于日常生活中;3、每個類可以有多個對象,每個對象必然屬于某個類;4、類之間可以存在繼承關系或組合關系;5、繼承關系中子類擁有父類的一切屬性和行為,組合關系是類之間整體和部分的關系;6、類及類之間的關系可以有不同的表示法;7、編譯器對類的表示法有具體的要求。


        歡迎大家一起來學習 C++ 語言,可以加我QQ:243343083

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安溪县| 商丘市| 资兴市| 太原市| 云龙县| 修武县| 西平县| 盐城市| 瑞昌市| 松原市| 桐乡市| 静海县| 洪湖市| 瓦房店市| 商都县| 大埔县| 丹阳市| 镇原县| 玉山县| 灵寿县| 高安市| 凤庆县| 澄江县| 洛南县| 钟祥市| 故城县| 墨玉县| 平昌县| 淅川县| 游戏| 西昌市| 航空| 侯马市| 塔城市| 洪江市| 巴彦淖尔市| 日照市| 陆良县| 南岸区| 娄烦县| 驻马店市|