亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

面向對象編程OOP的基本概念

 

面向對象編程,Object Oriented Progamming,OOP。

1、類和對象

面向對象編程的兩個重要概念:類(class)和對象(object)。類是抽象的概念,對象是具體的東西。

在面向對象編程的世界中,一切皆為對象,對象都有屬性(數據)和行為(方法),每個對象都是獨一無二的,而且對象一定屬于某個類。

當把擁有共同特征的對象的靜態特征(屬性)和動態特征(行為)抽取出來之后,就可以定義出類。

如汽車是一個類,它的屬性包括最大速度、剩余油量等,它的方法可以有:加油、設定行駛速度等。

面向對象編程OOP的基本概念

 

具體來說,一組數據結構和處理它們的方法的集合,稱為類(class);類是具備某項功能的抽象模型,實際應用中,需要對類進行實例化,即為對象(object)。

如汽車是一個類(class),具體到每輛不同車就是對象(object)。

面向對象編程OOP的基本概念

 

2、面向過程和面向對象

與面向對象編程相對的是面向過程編程,即把問題分解為一系列解題步驟,然后用函數實現這些步驟。

  • 面向過程的思想:由過程、步驟、函數組成,從上到下,從大到小,逐步細化,以過程為核心;
  • 面向對象的思想:先開發類,再得到對象,通過對象之間的調用解決問題,以對象為中心。
面向對象編程OOP的基本概念

 

比如開發一個五子棋游戲。

面向過程的設計:首先分析解題步驟:開始游戲→黑子先走→繪制畫面→判斷輸贏→輪到白子→繪制畫面→判斷輸贏→返回步驟2,直到輸出最后結果。然后用函數實現上面每個步驟。

面向對象的設計:整個五子棋可以設計為三個類:

  • 玩家:黑白雙方,這兩方的行為是一樣的;
  • 棋盤:負責繪制畫面;
  • 規則:負責判定輸贏。

然后,第一類對象(玩家)接受用戶輸入,并告知第二類對象(棋盤)棋子布局的變化,棋盤對象接收到了棋子的變化,就在屏幕上面顯示出這種變化,同時第三類對象(規則)對棋局進行判定。

可以看出,面向對象是以功能來劃分問題,而不是步驟

面向對象編程OOP的基本概念

 

3、面向對象編程的三大特點

面向對象編程的三大特點:封裝性、繼承性和多態性。

  • 封裝(encapsulation):就是將一個類的使用和實現分開,只保留有限接口與外部聯系。對于用到該類的程序員,不需關心這個類是如何實現的,只需知道如何使用。即通過類的封裝隱藏類的內部實現細節。
  • 繼承(inheritance):就是派生類(子類)自動繼承一個或多個基類(父類)的屬性和方法,并可以重寫或添加新的屬性和方法。
  • 多態(polymorphism):就是調用成員函數時,會根據調用函數的對象的類型來執行不同的函數。多態最常見的用法就是聲明基類類型的指針,利用該指針指向任意一個子類對象,可以根據子類的不同而實現不同的方法。通過多態實現基于對象類型的動態分派。

封裝可以代碼模塊化,繼承可以擴展已存在的代碼,它們都可以實現代碼重用;而多態則可以實現接口重用。

面向對象編程OOP的基本概念

分享到:
標簽:面向對象 編程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定