面向物件
什么是面向物件
什么是面向物件 ——把現實生活的事物以及關系,抽象(“抽象”)成類,通過繼承,實作,組合的方式把萬事萬物都給容納了,實作了對現實世界的抽象和數學建模,面向物件的思想已經涉及到軟體開發的各個方面,
如:
面向物件的分析(OOA,Object Oriented Analysis)
面向物件的設計(OOD,Object Oriented Design)
面向物件的編程實作(OOP,Object Oriented Programming)
抽象!!!!!
面向物件思想概述
——基于面向程序編程思想
面向物件思想特點
—— 是一種更符合我們思維習慣的思想
—— 可以將復雜的事情簡單化
—— 讓我們從執行者變成了指揮者
面向物件、面向程序!!!
面向程序——是具體化的,流程化的,解決一個問題,你需要一步一步的分析,一步一步的實作 “強調的是每一個功能的步驟 ”
優點:性能比面向物件好,因為類呼叫時需要實體化,開銷比較大,比較消耗資源,
缺點:不易維護、不易復用、不易擴展.
面向物件——是模型化的,只需抽象出一個類,這是一個封閉的盒子,在這里擁有資料也擁有解決問題的方法,需要什么功能直接使用就可以了,不必去一步一步的實作,至于這個功能是如何實作的,管我們什么事?我們會用就可以了,
優點:易維護、易復用、易擴展,由于面向物件有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統 更加靈活、更加易于維護 .
缺點:性能比面向程序差
面向物件的底層其實還是面向程序,把面向程序抽象成類,然后封裝,方便我們我們使用的就是面向物件了,
舉例:
吃飯
面向程序:買菜 -- 擇菜 -- 洗菜 -- 切菜 -- 炒菜 -- 盛菜 -- 盛飯 -- 吃飯
面向物件:去飯店吃飯: 我(去飯店) -- 服務員(點菜)-- 廚師(做菜)-- 服務員(上菜)-- 我(吃)
洗衣服
面向程序:脫下衣服 -- 找個盆 -- 防水 -- 放衣服 -- 放洗衣液 -- 泡 -- 洗 -- 涮洗 -- 擰干 -- 晾衣服
面向物件:脫下衣服 -- 打開洗衣機 -- 放衣服洗(一鍵解決) -- 晾衣服
面向物件的三大特性
封裝
**封裝**指的是隱藏物件的屬性以及實作細節,僅對外提供訪問的方法,面向物件的程式設計是將資料成員(Data Member)和屬于此資料的操作方法(Method)放在同一物體或物件中,就是封裝,封裝是為了達到‘模塊化’和‘資訊隱藏’的目的,
繼承
繼承指的是多個類具有共同的屬性(成員變數)與行為(成員方法)的時候,將這些共同的部分向上抽取出來定義到一個公共的類中,這時其他類與這個公共的類形成了繼承關系,從而在多個類中不需要重復定義公共部分,這個公共的類稱為:父類、超類、基類;其他的幾個類稱為:子類、派生類,
多型
多型指的是在編譯與執行時表現出來的不同狀態,是繼承關系在執行程序中的獨特現象,多型針對的是參考資料型別,形成多型的條件首先要有子父類的繼承關系(extends),或類與介面的實作關系(implements);其次,子類要重寫父類的方法;最后,在呼叫時,父類的“參考變數”指向子類的物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298434.html
標籤:其他
