JAVA入门级教学之(面向过程和面向对象的区别)
目錄
?
?
JAVA入門級教學之(面向過程和面向對象的區別)
?? ?? ? 面向過程和面向對象的區別:
?? ?-面向過程:
?? ?-面向對象:
?? ?-發展歷程:
? ??-生命周期中包括:
?? ?-什么是類:
? ??-什么是對象:
?? -軟件開發的過程:
? ?-重點:
?
JAVA入門級教學之(面向過程和面向對象的區別)
?
?? ?
? ? 面向過程和面向對象的區別:
?? ?
?? ?-面向過程:
? ? ? ?主要的關注點:具體的是實現過程,強調因果關系【集成顯卡的開發思路】
?? ??? ?*優點:對于業務邏輯比較簡單的程序,可以達到快速開發,前期投入成本較低
?? ??? ?*缺點:難以解決復雜的業務邏輯
?? ??? ??? ? ? 軟件元素之間的“耦合度”非常高,其中一環出現問題,整個系統受到影響
?? ??? ??? ? ? 沒有獨立體的概念,所以無法達到組件重復利用的功能
?
?? ?-面向對象:
? ? ? ?主要的關注點:關注對象【獨立體】能完成哪些功能。【獨立顯卡的開發思路】
?? ??? ?*優點:耦合度低,擴展力強,更容易解決現實世界中復雜的業務邏輯。組件復用性強
?? ??? ?
?? ??? ?*缺點:前期投入成本較高,需要進行獨立體的抽取,大量的系統分析和設計
?
可以這樣理解:面向對象其實就是你手頭有一份任務,需要很多部門去執行,
如果用面向過程的方式去開發,那么就是將大家集合起來,然后告訴A部門要這樣做,做到什么程度后交給B部門去做,B做到一定程度后又交給C部門去做,其中任何一環節出現問題,就會導致整個任務無法進行。
如果用面向對象的方式去開發,那么不用將大家集合起來,這時候就需要首先對任務進行深度分析,將任務拆分成各個部門都能做的事情,然后將任務一份一份分發給A、B、C部門,每個部門只需要知道自己部門應該去做什么就行,和上一個部門的聯系不大,其中任意一個環節出現問題,其它的部門也能完成各自的任務。
?
?? ?-發展歷程:
?
? ?C語言是純面向過程的-->c++半面向對象-->java純面向對象
?? ?-人在認識現實世界的時候以面向對象的方式進行,符合人類的思維方式【各個元素組合完成大腦的構圖】
?? ?面向對象的三大特征【先背熟】
?? ??? ?*封裝
?? ??? ?*繼承
?? ??? ?*多態
?? ?所有面向對象的編程語言都有這三大特征
?
? ? ?-生命周期中包括:
?? ??? ?*面向對象的分析:OOA object-oriented analysis ,初步得出該oo的屬性與方法
?? ??? ?*面向對象的設計:OOD object-oriented design 整理和定義oo的屬性和方法 以便能夠被OOP直接接受
?? ??? ?*面向對象的編程:OOP object-oriented programming 把組件的實現和接口分開,并且讓組件具有多態性
?
?? ? 類和對象的概念
?? ??? ?-什么是類:
?? ??? ?-類在現實世界中是不存在的,是一個模板,是一個概念。是人類大腦思考抽象的結果
?? ??? ?-類代表了一類事物
?? ??? ?-在現實世界中,如果對象A和對象B具有共同的特征,對其進行抽象總結出共同特點的一個模板,這個模板稱為類
?
? ? ? ? -什么是對象:
?? ??? ?-對象是實際存在的個體。現實世界中實際存在。
? ? ? ?-軟件開發的過程:
?? ??? ?
?? ??? ?*程序員先觀察現實世界,從現實世界中尋找對象
?? ??? ?*尋找了N多個對象后,觀察總結這些對象都有的共同特征
?? ??? ?*程序員在大腦中形成一個模板【類】
?? ??? ?*JAVA程序員可以通過java代碼來描述一個【類】
?? ??? ?*JAVA程序中有了類的定義
?? ??? ?*然后通過類就可以創建對象
?? ??? ?*有了對象后,可以讓對象之間協作起來形成一個整體的系統
?
?? ?類-->實例化-->對象
?? ?
?? ?對象-->抽象化-->類
?? ?對象又被稱為實例化對象/instance
?
?
? ? -重點:
?? ??? ?類描述的是對象的共同特征
?? ??? ?共同特征例如:身高體重
?? ??? ?這個身高體重在訪問的時候,必須先創建對象【不然你對著空氣說話嗎】
?? ??? ?通過對象去訪問這個特征。
?? ??? ?因為這個特征具體到某個對象上之后,值不同。有的對象1.80,有的1.88.
? ? ? ? 一個類主要描述的是 狀態+動作
?? ??? ?-狀態:一個類的屬性
?? ??? ?-動作:??一個類的方法
?? ?
?
總結
以上是生活随笔為你收集整理的JAVA入门级教学之(面向过程和面向对象的区别)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学C语言编程,数学规划 (最速下降法,
- 下一篇: 语言ppt课件猜拳_八年级语文上册第22