C++圖文并茂輕松進階面向?qū)ο?/h1>
                          更新時間:2022年04月20日 16:56:10   作者:清風自在?流水潺潺   
                        
                        面向?qū)ο笾袑ο笫侵妇唧w的某一個事物,這些事物的抽象就是類,類中包含數(shù)據(jù)(成員變量)和動作(成員方法),接下來讓我們一起詳細了解
                        
                        
                            一、進階面向?qū)ο螅ㄉ希?/h2>
面向?qū)ο蟮囊饬x在于
- 將日常生活中習慣的思維方式引入程序設計中
 - 將需求中的概念直觀的映射到解決方案中
 - 以模塊為中心構建可復用的軟件系統(tǒng)
 - 提高軟件產(chǎn)品的可維護性和可擴展性
 
類和對象是面向?qū)ο笾械膬蓚€基本概念
- 類∶指的是一類事物,是一個抽象的概念
 - 對象∶指的是屬于某個類的具體實體
 - 類是一種模型,這種模型可以創(chuàng)建出不同的對象實體
 - 對象實體是類模型的一個具體實例
 
注:一個類可以有很多對象,而一個對象必然屬于某個類。
生活中的類和對象


類和對象的意義
類用于抽象的描述一類事物所特有的屬性和行為
- 如:電腦擁有CPU,內(nèi)存和硬盤,并且可以開機和運行程序
 
對象是具體的事物,擁有所屬類中描述的一切屬性和行為
- 如:每一只老虎都有不同的體重,不同食量以及不同的性情
 
二、小結(上)
- 面向?qū)ο笫钱斀褴浖_發(fā)中的重要方法
 - 類和對象是面向?qū)ο罄碚撝械幕靖拍?/li>
 - 類和對象均來源于日常生活中
 - 每個類可以有多個對象
 - 每個對象必然屬于某個類
 
三、進階面向?qū)ο螅ㄏ拢?/h2>
類之間的基本關系
繼承
- 從已存在類細分出來的類和原類之間具有繼承關系( is-a )
 - 繼承的類(子類)擁有原類(父類)的所有屬性和行為
 
組合
- 一些類的存在必須依賴于其它的類,這種關系叫組合
 - 組合的類在某一個局部上由其它的類組成
 
類之間的基本關系 -- 繼承

惠普電腦和蘋果電腦都繼承于電腦,具備電腦的所有特征。
類之間的基本關系 -- 組合

類的表示法

類的表示法 -- 簡化

類的表示法 -- 改進1

類的表示法 -- 改進2

類的表示法 -- 改進3

這有點代碼的味道了,那么如何用程序設計中的概念描述類的屬性和行為?下面做最終改進。
類的表示法 -- 改進4

下面把上面表示方法寫成代碼,看看編譯器會不會報錯吧。
#include <stdio.h>
 
struct Biology {
    bool living;
};
 
struct Animal : Biology {
    bool movable;
    void findFood() { }
};
 
struct Plant : Biology {
    bool growable;
};
 
struct Beast : Animal {
    void sleep() { }
};
 
struct Human : Animal {
    void sleep() { }
    void work() { }
};
int main()
{
    return 0;
}
下面為輸出結果:

可以看到,編譯器并沒有報錯,也就證明面向?qū)ο竽欠N表示方法是可以的。
四、小結(下)
- 類之間可以存在繼承關系或組合關系
 - 繼承關系中子類擁有父類的一切屬性和行為
 - 組合關系是類之間整體和部分的關系
 - 類及類之間的關系可以有不同的表示法
 - 編譯器對類的表示法有具體的要求
 
到此這篇關于C++圖文并茂輕松進階面向?qū)ο蟮奈恼戮徒榻B到這了,更多相關C++面向?qū)ο髢?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
                            
                            
                        
                        
                        
                            
                        
                        
                            
                            
                        
                        
                            
                        
                        
                        
                            相關文章
                             
-  
 詳解C++?functional庫中的仿函數(shù)使用方法
仿函數(shù)(functor)又稱之為函數(shù)對象(function?object),實際上就是?重載了()操作符?的?struct或class。本文將詳細講解C++中仿函數(shù)的使用方法,需要的可以參考一下 2022-04-04  
-  
 C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法
這篇文章主要介紹了C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下 2018-03-03  
-  
 VisualStudio類文件的管理(類文件的分離)的實現(xiàn)
在使用?Visual?Studio?開發(fā)項目的時候,學會進行“類文件的分離”十分重要,本文主要介紹了VisualStudio類文件的管理(類文件的分離)的實現(xiàn),感興趣的可以了解一下 2024-03-03  
 
-  
 詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法
這篇文章主要介紹了詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法,是C語言入門學習中的基礎知識,需要的朋友可以參考下 2015-08-08  
 
 
-  
 C++實現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三)
這篇文章主要介紹了C++實現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下 2021-08-08  
 
                        
                        
                            
                        
                        
                        
                            最新評論
                            
                                
                            
                        
                    
一、進階面向?qū)ο螅ㄉ希?/h2>
面向?qū)ο蟮囊饬x在于
- 將日常生活中習慣的思維方式引入程序設計中
 - 將需求中的概念直觀的映射到解決方案中
 - 以模塊為中心構建可復用的軟件系統(tǒng)
 - 提高軟件產(chǎn)品的可維護性和可擴展性
 
類和對象是面向?qū)ο笾械膬蓚€基本概念
- 類∶指的是一類事物,是一個抽象的概念
 - 對象∶指的是屬于某個類的具體實體
 - 類是一種模型,這種模型可以創(chuàng)建出不同的對象實體
 - 對象實體是類模型的一個具體實例
 
注:一個類可以有很多對象,而一個對象必然屬于某個類。
生活中的類和對象


類和對象的意義
類用于抽象的描述一類事物所特有的屬性和行為
- 如:電腦擁有CPU,內(nèi)存和硬盤,并且可以開機和運行程序
 
對象是具體的事物,擁有所屬類中描述的一切屬性和行為
- 如:每一只老虎都有不同的體重,不同食量以及不同的性情
 
二、小結(上)
- 面向?qū)ο笫钱斀褴浖_發(fā)中的重要方法
 - 類和對象是面向?qū)ο罄碚撝械幕靖拍?/li>
 - 類和對象均來源于日常生活中
 - 每個類可以有多個對象
 - 每個對象必然屬于某個類
 
三、進階面向?qū)ο螅ㄏ拢?/h2>
類之間的基本關系
繼承
- 從已存在類細分出來的類和原類之間具有繼承關系( is-a )
 - 繼承的類(子類)擁有原類(父類)的所有屬性和行為
 
組合
- 一些類的存在必須依賴于其它的類,這種關系叫組合
 - 組合的類在某一個局部上由其它的類組成
 
類之間的基本關系 -- 繼承

惠普電腦和蘋果電腦都繼承于電腦,具備電腦的所有特征。
類之間的基本關系 -- 組合

類的表示法

類的表示法 -- 簡化

類的表示法 -- 改進1

類的表示法 -- 改進2

類的表示法 -- 改進3

這有點代碼的味道了,那么如何用程序設計中的概念描述類的屬性和行為?下面做最終改進。
類的表示法 -- 改進4

下面把上面表示方法寫成代碼,看看編譯器會不會報錯吧。
#include <stdio.h>
 
struct Biology {
    bool living;
};
 
struct Animal : Biology {
    bool movable;
    void findFood() { }
};
 
struct Plant : Biology {
    bool growable;
};
 
struct Beast : Animal {
    void sleep() { }
};
 
struct Human : Animal {
    void sleep() { }
    void work() { }
};
int main()
{
    return 0;
}下面為輸出結果:

可以看到,編譯器并沒有報錯,也就證明面向?qū)ο竽欠N表示方法是可以的。
四、小結(下)
- 類之間可以存在繼承關系或組合關系
 - 繼承關系中子類擁有父類的一切屬性和行為
 - 組合關系是類之間整體和部分的關系
 - 類及類之間的關系可以有不同的表示法
 - 編譯器對類的表示法有具體的要求
 
到此這篇關于C++圖文并茂輕松進階面向?qū)ο蟮奈恼戮徒榻B到這了,更多相關C++面向?qū)ο髢?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
 詳解C++?functional庫中的仿函數(shù)使用方法
仿函數(shù)(functor)又稱之為函數(shù)對象(function?object),實際上就是?重載了()操作符?的?struct或class。本文將詳細講解C++中仿函數(shù)的使用方法,需要的可以參考一下2022-04-04
 C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法
這篇文章主要介紹了C++使用MySQL-Connector/C++連接MySQL出現(xiàn)LNK2019錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
 VisualStudio類文件的管理(類文件的分離)的實現(xiàn)
在使用?Visual?Studio?開發(fā)項目的時候,學會進行“類文件的分離”十分重要,本文主要介紹了VisualStudio類文件的管理(類文件的分離)的實現(xiàn),感興趣的可以了解一下2024-03-03
 詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法
這篇文章主要介紹了詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法,是C語言入門學習中的基礎知識,需要的朋友可以參考下2015-08-08
 C++實現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三)
這篇文章主要介紹了C++實現(xiàn)LeetCode(557.翻轉(zhuǎn)字符串中的單詞之三),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08

