首页
/
每日頭條
/
圖文
/
c程序中有調用關系的函數
c程序中有調用關系的函數
更新时间:2024-10-01 23:26:30

對于簡單問題和任務,一個函數(面向功能方法)或一個類(面向對象方法)便可以解決或完成。

面對複雜問題或任務,應對方法通常是分解(decomposing)和抽象(abstracting)。分解以後,需要多個函數或多個類,函數或類之間的關系便變得尤為重要。

一般而言,任何東西都有結構。所謂結構是指各個基本組成部分及其相互關系所形成的表現形态。程序也有結構,最早的程序是無結構的(本質上它是結構的退化,即隻有一個基本組成部分),稱為一體式“鋼闆程序”。随着程序規模的變大,為了提高開發效率、增加維護和調試的便捷性并降低成本、提高程序質量等,陸續誕生以函數和函數的交互關系為基礎的程序結構、以對象和對象的交互關系為基礎的程序結構。

c程序中有調用關系的函數(C函數間關系與對象間關系)1

1 面向功能方法之函數間關系

依據面向功能方法的基本原理,它需要解決兩個核心問題:基本功能模塊如何實現,以及基本功能模塊之間的耦合關系如何實現。

面向功能方法中,基本功能模塊代表一種相對獨立及完整的處理功能單元,因此,它的構造必然會涉及數據組織和數據處理。也就是說,作為面向功能方法的基本建築塊,基本功能模塊相當于是由數據組織和數據處理兩個程序基因綜合而成的程序細胞。目前,(高級)程序設計語言中,一般都是基于函數概念來建立基本功能模塊的抽象表達模型。

一個處理功能模塊的分解粒度及基本原則以該模塊隻處理一件事為基礎。也就是說,一個模塊内部的各種功能必須是直接相關的,稱為高内聚;模塊與模塊之間一般不應該存在交叉的處理功能,稱為松耦合。也就是說,盡量保證一個功能模塊相對獨立和簡單

作為面向功能方法構建的另一個核心問題,基本功能模塊之間的耦合(或連接)具有重要意義,隻有通過耦合,多個基本功能模塊才能構成完整程序。

c程序中有調用關系的函數(C函數間關系與對象間關系)2

函數間的數據共享:

① 傳址的副作用;

② 函數的内部狀态:函數局部static變量;

③ 函數間全局共享的數據:全局變量;

2 對象間關系

面向對象方法建立在對象及其關系基礎之上。

面向對象方法主要解決如何方便地為應用問題正确建模,它面向問題域而不是面向機器。它的基本原理是,将一個程序的基本結構形态定義為由一系列對象及其相互關系組成。

對象作為一種抽象數據類型,需要開創并建立自己的世界——對象社會。在對象社會中,不同的對象之間需要建立各種各樣的協作關系、需要交流,每一種對象也需要繁衍後代。因此,從對象到對象社會,首要問題就是對對象關系的認識。然後,在此基礎上,進一步認識其所帶來的各種問題并建立各種相應的支持機制。

c程序中有調用關系的函數(C函數間關系與對象間關系)3

面向對象方法建立在對象及其關系基礎之上。從本質上看,同族對象仍然體現單個(單族)對象的形态,異族對象才能體現社會的群體效應,異族對象及其關系構成面向對象程序的基本結構,各種對象通過相互發送消息,協作完成程序的功能。

橫向(異族對象)和縱向(同族對象)關系:

c程序中有調用關系的函數(C函數間關系與對象間關系)4

類的6類關系:

c程序中有調用關系的函數(C函數間關系與對象間關系)5

對象之間的數據共享:

① 單個類對象之間的數據共享:static數據成員;

② 多個同族或民異族類對象之間的數據共享:繼承或複合實現;

③ 不同類之間的數據共享:全局變量。

ref:

沈軍《計算思維之程序設計》

-End-

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
皮膚缺水暗黃如何改善
皮膚缺水暗黃如何改善
皮膚出現缺水和暗黃,這種情況有可能是由于平時的生活中患者長時間的熬夜,從而導緻這種現象的發生,如何改善?一塊出色的祛黃保濕護膚品臻品自然必不可少。小編今天給各位經常熬夜晚睡的帥哥美女們盤點出祛黃補水護膚品排行榜,上榜的十強品牌依次為:悅蕾、...
2024-10-01
喝牛奶要注意些什麼
喝牛奶要注意些什麼
喝牛奶要注意些什麼?牛奶含有豐富的鈣、維生素D等,是人們日常生活中喜愛的飲食之一牛奶的營養價值已為越來越多人所認識,但是您知道嗎,喝牛奶也有許多需要注意的地方,今天小編就來說說關于喝牛奶要注意些什麼?下面更多詳細答案一起來看看吧!喝牛奶要注...
2024-10-01
這5種食物可不要随意放冰箱裡
這5種食物可不要随意放冰箱裡
這5種食物可不要随意放冰箱裡?在我們大多數人的認知中,冰箱就是“完美的保鮮神器”,今天小編就來聊一聊關于這5種食物可不要随意放冰箱裡?接下來我們就一起去研究一下吧!這5種食物可不要随意放冰箱裡在我們大多數人的認知中,冰箱就是“完美的保鮮神器...
2024-10-01
白金和鉑金比較
白金和鉑金比較
白金和鉑金比較?鉑金和白金可别搞混了,它們不是一回事,下面我們就來說一說關于白金和鉑金比較?我們一起去了解并探讨一下這個問題吧!白金和鉑金比較鉑金和白金可别搞混了,它們不是一回事一直以來,我都以為鉑金和白金是一回事,隻有含量不同,18K白金...
2024-10-01
快手浪子吳迪直播回放
快手浪子吳迪直播回放
作者:李大狗在快手,很多主播都有自己家口号。這些口号看起來差不多,都是東北順口溜style,但其實仔細推敲,背後都代表着不同“家族”的不同風格。今天球長就來掰扯掰扯,快手主播們的家族口号~仙家:最有傳統快手“豪門”仙洋家粉絲的口号是:滿腔熱...
2024-10-01
Copyright 2023-2024 - www.tftnews.com All Rights Reserved