目錄優點:
解決了程式的擴充套件性,對某乙個物件單獨修改,會立刻反映到整個體系中,如對遊戲中的乙個任務引數的特徵和技能修改都和容易。
缺點:1.程式設計的複雜程度遠遠高於面向過程,不了解物件導向而立刻上手基於它設計程式,極容易出現過度設計的問題,一些擴充套件性要求低的場景使用物件導向會徒增程式設計難度,比起管理linux系統的shell指令碼就不合適用物件導向去設計,面向過程 反而更加適合。
2.無法面向過程的程式設計流水線式的可以很精準的**問題的處理流程和結果,物件導向的程式一到那開始就由物件之間的互動解決問題,即便是上帝也無法準確的**最終的結果。於是我們經常看見對戰類遊戲,新增乙個遊戲人物,在對戰的過程中極容易出現流弊的技能,一刀砍死3個人,這種情況是無法準確預知的,只有物件之間互動才能準確的知道最終的結果。
應用場景:
需要經常變化的軟體,一般要求的變化都集中在在使用者層,網際網路層,企業內部軟體,遊戲等都是物件導向的程式設計大顯身手的好地方。
物件導向的程式設計並不是全部,對於乙個軟體的質量來說,物件導向的程式設計只是用來解決擴充套件性。
在整個物件導向程式設計中,最重要的兩大部分就是類和物件。
在現實世界中:先有物件,再有類
在程式中,務必保證先定義類,後產生物件
其實就是先找到物件本身的,再去找整個的類。
在整個類中,必須遵守接收幾個值就必須有幾個值傳參
類中定義的函式主要是給物件使用的,而且是繫結到物件的,雖然所有物件指向的都是相同的功能,但是繫結道不同的物件就是不同的繫結方法
強調:繫結到物件的方法的特殊之處就在於,繫結給誰就由誰來呼叫,就會將誰本身當做第乙個引數的傳給方法,即自動傳值(_init_ 也是一樣的道理)
注意:繫結到物件的方法的這種自動傳值的特徵,決定了在類中定義的函式都要預設寫乙個引數self,self可以是任意名字,但是約定俗成地寫出self。
c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...
物件導向程式設計
物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...
物件導向程式設計
class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...