類和物件導向程式設計 初級

2021-09-22 18:39:07 字數 1591 閱讀 2363

什麼是物件導向程式設計?

假如我們要開發乙個坦克大戰的遊戲

我們這個遊戲有一些屬性

當前剩餘多少條命(沒命的話,遊戲結束,開始有3條命)

當前遊戲的分數(每次殺死敵人得分)

boss是否死亡(死亡重新開始遊戲,損失一條命)

我們有乙個主角(坦克)它有一些屬性

等級(等級越高,攻擊力越強,初始1級)

當前血量

我們有一些種類的敵人

普通敵人,銅敵人,**敵人

不同敵人的攻擊力和血量不一樣

敵人可以自己移動

互動可以控制主角移動

可以發射子彈攻擊敵人

敵人會自動追蹤主角,並進行攻擊

在我們寫的程式有很多的**的時候,我們可以把程式中的東西進行分類,跟主角相關的是一類,跟敵人相關的是一類,跟整個遊戲相關的是一類。

通過分類可以讓程式變得更加有結構。在程式中可以使用類(class)對**進行分類,當使用類程式設計的時候,使用建立出來的變數稱之為乙個物件。這就是傳說中的物件導向程式設計。

物件導向和面向過程的區別。面向過程裡面沒有物件,強調的開發乙個功能的步驟和過程,一步一步類,物件導向我們操作處理的是乙個個的物件,(詳細的每個功能的步驟和過程都封裝在了類裡面,通過類分類劃分模組)程式更加結構化。(更加適合開發大型專案,更加便於後期的維護)

物件導向(類、物件)的三個特徵:

封裝、繼承、多型(後面慢慢理解)

乙個類表示乙個類別(比如上面的例子,有主角 敵人 遊戲管理系統)

通過乙個類管理這個類別的所有相關的東西。比如敵人,主角

我們可以定義乙個人主角類,來控制主角相關的屬性和行為(方法)的管理。

這裡所說的屬性和行為,在我們程式中叫做成員變數、成員方法。

怎麼定義類?

class 類名

怎麼宣告物件

類名 物件名;

定義好了類,為什麼要利用類定義變數(物件)?

乙個類相當於乙個模板,利用模板可以生產例項。

類相當於車工廠裡面的車模(模具),利用車模可以生成可以實際使用的很多輛車。

類車模 物件車

(敵人類 和 很多個敵人)

分析下主角類有哪些屬性和行為?

如何利用類建立物件?

使用屬性、呼叫行為

大象裝進冰箱問題

分析有哪些類

大象類,冰箱類

物件之間的賦值(引用的賦值)

成員變數和區域性變數

定義的位置

什麼時候占用記憶體

所占用記憶體的位置

什麼時候所佔記憶體被銷毀

初始值當把乙個物件當做乙個方法的引數的時候

因為類是引用型別,所以在方法內修改引用型別裡面的資料的時候,原引用型別裡面的 資料也被修改了!

訪問修飾符 private

(專案開發中,我們開發的類不止給我們自己使用也給團隊中的其他人使用)

可以修飾成員變數,可以修飾成員方法

封裝:把不需要外界訪問的屬性都隱藏起來

提供方法讓外界訪問

優點:讓**結構更加清晰

比較安全(編寫**不容易出錯,特別是大專案)

使用:所有屬性私有化

提供getter和setter方法訪問

格式:修飾符 類名(數){}

物件 類和物件導向程式設計

物件 物件是數個屬性無序的集合。ecma 262使用一些內部特性來描述屬性的特徵 物件的屬性的特性 屬性分為資料屬性 定義屬性時使用 和訪問器屬性 獲取或設定屬性值時使用 資料屬性 資料屬性包含乙個儲存資料值的位置。值會從這個位置讀取,也會寫入到這個位置。資料屬性有 4個特性描述它們的行為。conf...

面向過程程式設計和物件導向程式設計

面向過程程式設計和物件導向程式設計 面向過程程式設計是一種以 過程為中心 的程式設計思想 分析出解決問題的步驟,然後用函式把這些步驟一步一步實現 面向過程程式設計,資料和對資料的操作是分離的。物件導向程式設計 物件導向程式設計是 將事物物件化,通過物件通訊來解決問題 物件導向程式設計,資料和對資料的...

面向過程程式設計和物件導向程式設計

面向過程程式設計和物件導向程式設計 一 面向過程程式設計 面向過程程式設計將程式分成了 資料 和 處理函式 兩部分,程式以 處理函式 為核心,如果要執行什麼操作,就將 資料 傳給相應的 處理函式 返回我們需要的結果 面向過程的思路很好掌握,上手容易,但它存在三方面的問題 1 資料和處理函式沒有直接的...