1. 程式人生 > >C++自學-預備知識

C++自學-預備知識

實際類型 編程方式 泛型編程 上下文 派生 信息 多個 面向過程 過程

C++簡介

C++由C的基礎上添加了面向對象編程和泛型編程的支持,使得C++具有三種編程方式:面向過程、面向對象、泛型編程。在學習C++之前最好掌握一定的C與OOP編程基礎。

面向過程、面向對象、泛型編程

  1. 面向過程:一般來說,計算機語言處理的有2個概念-數據和算法。數據是程序使用和處理的信息,而算法是程序使用的方法,比如:我要炒一個辣椒炒肉,食用油、鮮肉、辣椒.....這些都是數據,切肉-燒油-放入肉煸炒....這些叫算法。C語言為了解決分支語句的問題,使其具有流程判斷的處理能力,可以使用如"if else" "for" "while case"等一些流程處理語言,這種方法叫做結構化編程。另一個原則是top-down原則,即自頂向下的設計,在C語言中,理念是將大型任務分解成許多小型任務,如果這些小型任務仍然過大則再細分成更小的任務,直到將程序劃分為各個小型的、易於管理的模塊,比如:我要整理書房,那麽分為整理書櫃、桌子、椅子,而書櫃又可以分為整理左、中、右三個書櫃,再細可以劃分為整理左邊的第一個、第二個.......。C語言鼓勵程序員開發程序單元(即函數)來表示各個任務模塊。結構化編程反映了面向過程的編程思想,根據執行的操作來構造一個程序。
  2. 面向對象:就面向過程編程來說,其優點是提高了程序的清晰度、可靠性,並且便於維護,但是使用這種思想在編寫大型程序的時候顯得有些力不從心,為了應對這一問題,OOP提供了一種新的方法,面向過程註重的是算法(即切肉-燒油-放入肉煸炒...),而面向對象註重的是數據(即食用油、辣椒、鮮肉.....),它不像面向過程使問題滿足結構化編程的過程性方法,而是使語言來滿足問題的要求。在C++中,“類”是一種規範,描述了這種新的數據格式,“對象”是根據這種規範構造的特定的數據結構,比如:類可以描述一個菜的原材料(物料名,類別,來源,價格...),而對象則是具有數據的特定數據格式(五花肉,肉類,超市,$20...)。通俗的理解類是對象的模板,類定義了由它派生的對象具有哪些可操作的能力或是屬性。OOP程序設計首先設計類,它們準確的表達了程序要處理的數據,類定義描述了每個類可執行的操作,然後再程序中規範的使用這個類,這種從低級組織到高級組織的編程叫down-top(自下而上)的編程。OOP不僅是將數據與算法合並為類,OOP能創建可重復使用的代碼,減少工作量。信息隱藏可以保護私密數據,避免不合法的訪問。多態能為運算符與函數創建多個定義,通過其上下文來決定使用哪個定義,繼承能使用舊類派生出新類等等....。在Windows環境下進行面向對象編程,具有廠商提供的大量的、簡化的類,方便開發者使用。
  3. 泛型編程:這是C++支持的另一種編程模式,與OOP的目標相同,不同的是,OOP強調數據,而泛型編程強調獨立於特定數據類型,泛型編程提供了常用任務的工具。C++具有多種數據類型,如:int、long、char.....等等,泛型編程需要對語言進行擴展,以便可以只編寫一個泛型函數,並將其用於各種實際類型。

C++自學-預備知識