結構化編程與面向對象編程
面向對象編程(OOP)和結構化編程是兩種編程範式。編程範式是計算機編程的一種基本樣式。編程範例不同於如何表示程序的每個元素以及如何定義解決問題的步驟。顧名思義,OOP專注於使用真實世界的對象及其行為來表示問題,而結構化編程則處理在邏輯結構中組織程序。
什麼是結構化編程?
假定結構化編程的誕生年份是1970年。結構化編程被認為是命令式編程的一個子集。結構化程序由簡單的程序流結構組成,這些結構是分層組織的。它們是順序、選擇和重複。序列是語句的順序。選擇是指根據程序的當前狀態從一組語句中選擇一個語句(例如使用if語句),重複是指執行一個語句直到達到某個狀態(例如使用for或while語句)。ALGOL、Pascal、Ada和PL/I是當今使用的一些結構化編程語言。
什麼是面向對象編程?
在OOP中,重點是從現實世界的元素來思考要解決的問題,並用對象及其行為來表示問題。類描述真實世界對象的抽象表示。類類似於藍圖或模板,它們收集可以組合在一起的類似項或事物。類具有稱為屬性的屬性。屬性被實現為全局變量和實例變量。類中的方法表示或定義這些類的行為。類的方法和屬性稱為類的成員。類的實例稱為對象。因此,對象是一種與真實世界中的對象非常相似的數據結構。
有幾個重要的OOP概念,如數據抽象、封裝、多態性、消息傳遞、模塊化和繼承。通常,封裝是通過使屬性私有化來實現的,同時創建可用於訪問這些屬性的公共方法。繼承允許用戶從其他類(稱為超級類)擴展類(稱為子類)。多態性允許程序員用一個類的對象代替它的超類的對象。通常,在問題定義中找到的名詞直接成為程序中的類。同樣,動詞變成了方法。一些最流行的OOP語言是Java和C。
結構化編程和麵向對象編程有什麼區別?