1. 程式人生 > >AOP和OOP區別

AOP和OOP區別

AOP和OOP是兩個概念就像張三與張三丰的區別一樣除了字相似之外沒啥關係.而且兩個也不是一個等級的概念,OOP作為面向物件設計思想,而AOP是面向切面程式設計是一個設計模式.
AOP:面向切面程式設計,見於javaee三層設計模式,設計為三個層,層與層之間通過工廠設計模式減少耦合性,提高程式碼的重用性,可用於細粒度的許可權控制,事務的新增,日誌的記錄等功能.
OOP:面向物件程式設計,在寫程式碼之前分析主要的類,類中的方法,以及不同的類之間的關係.妥善設定介面和繼承關係.主要特徵:
1.封裝
通過屬性私有化隱藏內部屬性細節,新增get(),set()方法對外提供一個公共的訪問介面.增強程式碼的可維護性
2)繼承
將一堆具有共同特徵的類抽出其中共有的特徵,作為基類,其餘的類只需要繼承(extends)這個類即可具有基類中所有的方法.(而且對父類中的方法不滿意可以通過重寫的方式改變)大大減少了程式碼的重複.增強程式碼複用性.
3)多型
同一個介面不同的實現類有不同的操作.同一個基類不同的子類由不同的操作.
多型存在的三個必要條件:要有繼承或介面;要有重寫;父類引用指向子類物件。