C++OO思想

C++語言簡介

C++是一種語言,僅僅是它的語法、特性、標準類庫就已經是一門非常高深的課程,所以在開始學習的時候,必須先要打好基礎。

在市面上有很多Visual C++的書,雖然其中可能會花1-2章來介紹C++的基本特性,但是那絕對不會讓你入門。

C++的特點與OO思想

C語言有一個優點,即它的速度可以很快。寫出來的程序可以很精練、簡單、小巧,不用爲了解決某個問題環繞太平洋一大圈。

但如果將C和C++相比較,C++就經常會爲了解決某個問題繞一個大圈,所以代碼量相對較大,並且裏邊有一些不是必須的代碼。

但C++有個絕對的優勢,就是針對不同的對象去做實例化,這就是所謂的OO思想。

什麼是OO思想

在面對對象的思想中,任何事物都可以被看做一個對象。一個再複雜的模型結構都是由千千萬萬個對象組成的。這是根本思想。

例如:地球可以看做一個相當複雜的對象。地球上的每種動物、每種植物、空氣、水、土壤等都是對象。

它們彼此之間互相聯繫、組合,最終形成了地球。而對於每個對象,抽象起來最終可以分爲兩個要素:屬性和行爲。

在面對對象編程中,程序員不再面對一個個函數和變量,而是要放眼大局,面對一個個對象來看問題。

每個對象都是一個完整的獨立的個體,它是由相關的屬性和行爲組合,與外界分隔。

例如,一家跨國公司,它在全球有很多分公司,每個公司都有自己的員工和一套自己的運作體系。

對於總公司而言,分公司好比“黑箱”,總公司不需干預分公司如何調配人員工作等,只需下達命令和指標。

面向對象是當前軟件開發方法的主流,其概念和應用早已超越了程序設計和軟件開發本身而擴展到更加寬廣的範圍。

舉個例子,例如我們的圖形用戶界面(GUI)編程,面向對象在這方面的能力是相當出衆,以至於人們在那些並不直接支持面向對象的語言(例如C)中也創建了一些模擬OO的軟件結構,以便進行GUI編程。典型例子:GNOME/GTK+工具。

OO思想的特點

  1. 封裝

封裝意味着把對象的屬性和方法結合成一個獨立的系統單位,並儘可能隱藏對象的內部細節。

封裝是面向對象思想描述的基礎,從此程序員面對的就不再是許多複雜的函數和過程實現,而是少數具有行爲能力的個體實例。

  1. 抽象

抽象的過程是對具體問題進行概括的過程,是對一類公共問題進行統一描述的過程。爲了使某些必要的信息得以順利的交流,設計者必須制定一個抽象,就如同一個協議,一個得到所有參與活動的有效個體支持的協議。

例如麪包房提供一個抽象——“訂單”。

  1. 繼承

子類對象擁有與其基類相同的全部屬性和方法,稱爲繼承。

這個事實上最容易理解:例如人都共有的一些屬性:鼻子、眼睛、嘴巴……和一些方法:喫飯、睡覺、&&……

可以由此基礎上再整出亞洲人、歐洲人、非洲人……

最後,我創造亞洲美女小紅……

  1. 多態

多態是指在基類中定義的屬性和行爲被子類繼承後,可以具有不同的數據類型或者表現行爲等特性。

加入動物是一個基類,它的子類有老虎、兔子、狗、小鳥……

那麼作爲動物有一個行爲定義爲Move(),那麼這些子類繼承下來後會根據自己的特性採取不同個性的Move()方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章