面向對象:四大基本特征、七大設計原則、二十四種模式(自己面試遇見)


面向對象的四大基本特性
抽象:提取現實世界中某事物的關鍵特性,為該事物構建模型的過程。對同一事物在不同的需求下,需要提取的特性可能不一樣。得到的抽象模型中一般包含:屬性(數據)和操作(行為)。這個抽象模型我們稱之為類。對類進行實例化得到對象。

封裝:封裝可以使類具有獨立性和隔離性;保證類的高內聚。只暴露給類外部或者子類必須的屬性和操作。類封裝的實現依賴類的修飾符(public、protected和private等)

繼承:對現有類的一種復用機制。一個類如果繼承現有的類,則這個類將擁有被繼承類的所有非私有特性(屬性和操作)。這里指的繼承包含:類的繼承和接口的實現。

多態:多態是在繼承的基礎上實現的。多態的三個要素:繼承、重寫和父類引用指向子類對象。父類引用指向不同的子類對象時,調用相同的方法,呈現出不同的行為;就是類多態特性。多態可以分成編譯時多態和運行時多態。

抽象、封裝、繼承和多態是面向對象的基礎。在面向對象四大基礎特性之上,我們在做面向對象編程設計時還需要遵循有一些基本的設計原則。

面向對象的七大設計原則

SOLID原則(單一職責原則、開放關閉原則、里氏替換原則、接口隔離原則和依賴倒置原則) 
迪米特法則 
組合優於繼承原則(合成復用原則)。 
在遵循這些面向對象設計原則基礎上,前輩們總結出一些解決不同問題場景的設計模式,以四人幫的gof23最為知名。

24種設計模式(gof23+1)
  創建型模式:
    1.簡單工廠模式(不包含在gof23中)
    2.工廠模式
    3.抽象工廠模式
    4.單例模式
    5.原型模式
  創建者模式
    6.結構型模式:
    7.組合模式
    8.裝飾者模式
    9.外觀模式
    10.適配器模式
    11.代理模式
    12.享元模式
    13.橋接模式
  行為型模式:
    14.觀察者模式
    15.策略模式
    16.狀態模式
    17.中介模式
    18.模板方法
    19.命令模式
    20.備忘錄模式
    21.訪問者模式
    22.解釋器模式
    23.迭代器模式
    24.職責鏈模式
這里只是簡單描述了定義和特征以及設計模式的關系,具體細節不討論

 

在面試的時候被面試官問道你知道哪些設計模式,還有單例模式是怎樣的?

單例模式這里回答了分為兩種:飽漢模式和餓漢模式,我博客里面有

這個我聽老師說有個學生在面試的時候被提問到,所以還是了解記錄一下
---------------------
作者:hopeplus
來源:CSDN
原文:https://blog.csdn.net/hope900/article/details/78647466?utm_source=copy
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM