日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象程序设计概念

發布時間:2024/8/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象程序设计概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 程序設計范型

??面向對象程序設計(object-oriented programming,OOP)是一種新的程序設計的范型。程序設計范型是設計程序的規范、模型和風格,它是一類程序設計語言的基礎。
面向對象設計范型的主要特征是:

?程序=對象+消息

??面向對象程序的基本元素是對象。面向對象程序的主要結構特點是:一、程序一般由類的定義和類的使用兩部分組成;二、程序中的一切操作都是向對象發送消息來實現的,對象收到消息后,啟動有關方法完成相應的操作。
??需要說明的是,某一種程序設計語言不一定與一種程序設計范型相對應。實際上具有兩種或多種范型特征的程序設計語言,即混合型語言。例如,C++就不是純粹的面向對象程序設計范型的語言,而是具有面向過程程序設計范型和面向對象設計范型的混合性設計語言。

二. 面向對象程序設計的基本概念

1. 對象
?現實中的對象,具有以下特征:

  • 每個對象必須有一個名字以區別其他對象;
  • 用屬性來描述對象的耨些特征;
  • 有一組操作,每一組操作決定對象的一種行為;
  • 對象的行為可以分為兩類:一類作用于自身的行為,另一類作用與其他對象的行為。
  • 2. 類
    ??類是一組具有相同屬性和行為的對象的抽象。類與對象之間的關系是抽象與具體的關系。類是對多個對象進行綜合抽象的結果。

    3. 消息與方法
    ??面向對象程序設計中,對象之間也需要聯系,稱為對象的交互。面向對象程序設計技術必須提供一種機制允許一個對象與另一個對象的交互。這種機制稱為消息傳遞。
    ??對象所能實現的行為(操作),在程序設計方法中稱為方法。它們是通過調用相應的函數來實現的,在C++語言中方法是通過成員函數來實現的。方法包括界面和方法體兩部分。方法的界面給出了方法名和調用協議(相對于C++中的成員函數的函數名和參數表);方法體則是實現某種操作的一系列計算步驟,也就是一段程序(相對于C++中成員函數的函數體)。

    三. 面向對象程序設計的基本特征

    1. 抽象
    ??抽象是通過特定的實例(對象)抽取共同性質后形成概念的過程。面向對象程序設計中的抽象包括兩個方面:數據抽象和代碼抽象(或稱為行為抽象)。前者描述某類對象的屬性或狀態,也就是此類對象區別于彼類對象的特征物理量:后者描述了某類對象的共同行為特征或具有的共同功能。對于一組具有相同屬性和行為的對象,可以抽象成一種類型,在C++中,這種類型就稱為類(class),類是對象的抽象,而對象是類的實例。
    ??抽象在系統分析、系統設計以及程序設計的發展中一直起著重要的作用。在面向對象程序設計方法中,對一個具體問題的抽象分析的結果,是通過類來描述和實現的。

    2. 封裝
    ??在現實世界中,所謂封裝就是把某個事物包圍起來,使外界不知道該事物的具體內容。在面向對象程序設計中,封裝是指把數據和實現操作的代碼集中起來放在對象內部,并盡可能隱蔽對象的內部細節。對象好像是一個不透明的黑盒子.表示對象屬性的數據和實現各個操作的代碼都被封裝在黑盒子里,從外面是看不見的,更不能從外面直接訪問或修改這些數據及代碼。使用一個對象的時候,只需知道它向外界提供的接口而無需知道它的數據結構細節和實現操作的算法。
    ??C++對象中的函數名就是對象的對外接口,外界可以通過函數名來調用這些函數來實現某些行為(功能)。封裝的好處是可以將對象的使用者與設計者分開,大大降低了人們操作對象的復雜度。使用者不必知道對象行為實現的細節,只需要使用設計者提供的接口的功能即可自由地操作對象。封裝的結果實際上隱藏了復雜性,并提供了代碼重用性,從而減輕了開發軟件系統的難度。
    ??封裝是面向對象程序設計方法的一個重要特性,封裝具有兩方面的含義:一是將有的數據和操作代碼封裝在一個對象中,各個對象相對獨立、互不干擾;二是將對象中某此據與操作代碼對外隱蔽,即隱蔽其內部細節,只留下少量接口,以便與外界聯系,接收外界消息,這種對外界隱蔽的做法稱為信息隱蔽。信息隱蔽有利于數據安全,防止無關人員訪和修改數據。

    3. 繼承
    ??繼承是面向對象軟件技術當中的一個概念。如果一個類別A“繼承自”另一個類別B,就把這個A稱為“B的子類別”,而把B稱為“A的父類別”也可以稱“B是A的超類”。在令子類別繼承父類別的同時,可以重新定義某些屬性,并重寫某些方法,即覆蓋父類別的原有屬性和方法,使其獲得與父類別不同的功能。另外,為子類別追加新的屬性和方法也是常見的做法。 從繼承源上分,繼承又分為單繼承和多繼承。

    4. 多態
    ??面向對象系統的多態性是指不同的對象收到相同的消息時執行不同的操作。
    ??C++語言支持兩種多態性即編譯時的多 態性和運行時的多態性。 編譯時的多態性是通過函數重載(包括運算符重載)來實現的,運行時的多態性是通過虛函數來實現的。
    ??多態性增強了軟件的靈活性和重用性,為軟件的開發與維護提供了極大的便利。尤其是采用了虛函數和動態聯編機制后,允許用戶以更為明確、易懂的方式建立通用的軟件。

    總結

    以上是生活随笔為你收集整理的面向对象程序设计概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。