欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java的面向對象和面向過程

 更新時間:2023年05月12日 11:13:16   作者:一一哥Sun  
我們知道,Java是面向對象的編程語言,但是至今仍有不少同學還不太懂”面向對象“的確切含義,今天這篇文章就帶大家真正地認識面向對象,感興趣的同學可以跟著小編一起來學習

一. 面向對象

既然我們要學習面向對象,那首先得對其基本概念、特性、對象、類等內容有所了解。

1. 概念

我們知道Java是面向對象的編程語言,所以首先得給大家解釋一下到底啥是面向對象編程。

所謂的面向對象編程(Object-Oriented Programming,簡稱OOP) ,其實是一種軟件開發(fā)思想,也是一種編程范式。在面向對象的編程思想出現(xiàn)之前,主要是面向過程這種思想壟斷著程序員們的編程思維。 ”面向“這個詞,從字面理解就是”對著、朝向“,準確地說應該是 ”遵從、依照、按照、根據“ 的意思。 ”對象“ ,并不是指你的男/女朋友那個”對象“,而是指真實世界中的一個個實體,有點類似于哲學中”抽象“與”具體“范疇中的一個個”個體“。

可以說,在面向對象的編程規(guī)范中, “一切皆對象”,對象就是面向對象編程的核心。我們把現(xiàn)實世界中的一個個對象或物體,抽象地體現(xiàn)在編程世界中。就好比我們想駕駛一輛奧迪A6,A6就是一個對象,制造商給A6賦予了各種功能和特性,我們就可以調用這個對象完成一系列操控。所以每一個對象都可以包含一系列具體的操作,最終一個個的對象又組成了完整的Java程序。這些對象可以是獨立存在的,也可以是從別的對象中繼承過來的。對象之間通過相互作用傳遞信息,實現(xiàn)程序開發(fā)。

給大家舉個栗子,假如我們想吃飯,按照面向對象的解決思維就是:

創(chuàng)造一個“農民”對象,去種地;

創(chuàng)造一個“廚師”對象,去做飯;

創(chuàng)造一個“食客”對象,去吃飯;

......

問題解決!

2. 特點

在面向對象編程中,一個對象會有以下特點:

  • 對象具有屬性和行為;
  • 對象具有變化的狀態(tài);
  • 對象具有唯一性;
  • 對象都是某個類的實例;
  • 一切皆對象,真實世界中所有的事物都可以視為對象。

當然,如果只是這樣跟大家解釋一通,很多小白肯定還是不明白到底啥是面向對象。別急,面向對象是一種認知思維,一種思維的養(yǎng)成,并不是一朝一夕就可以形成的。有些科班出身的Java程序員,在學校里接觸了很久的面向對象,甚至都做了幾年的開發(fā),真讓他解釋啥是面向對象,他依然很懵懂。我們要想真正地理解面向對象,只看幾篇文章和視頻是很難吃透的。你需要進行大量的編程實踐,寫著寫著,有一天你就會突然頓悟:“啊,原來這就是面向對象啊”!

二. 面向過程

在上面的小節(jié)中,還給大家提到了“面向過程”這個概念,雖然這不是我們要掌握的內容,但我覺得還是有必要跟大家拓展解釋一下。

1. 概念

面向過程(Procedure-Oriented Programming,簡稱POP)也是一種編程思想和模式。 它出現(xiàn)的時間比面向對象還要早,可以說是早期高級編程語言所采用的思維鼻祖。采用面向過程思維的編程語言有C、Fortran、Pascal、Basic等。

面向過程的編程思想其實很機械粗暴,所有的事情都可以拆分成一系列要執(zhí)行的計算步驟,通常采用自上而下、順序執(zhí)行的方式來實現(xiàn)。 還是給大家舉吃飯的栗子,如果是按照面向過程的解決思維就是:

開墾荒地;

種糧種菜;

收獲加工;

做飯烹飪;

開始吃飯;

收拾整理;

.......

你看,整個執(zhí)行邏輯就是這么機械粗暴,簡單明了。面向過程就是把目標的實現(xiàn)拆分成了一個個的實現(xiàn)過程,而每一步又可以繼續(xù)拆分成若干個子步驟。這種解決問題的思維,與面向對象是有明顯不同的。

2. 特點

根據以上分析,我們可以感受到面向過程的優(yōu)點在于,性能上它比面向對象要高。因為在面向對象中,我們在調用類時需要進行實例化,開銷比較大。但面向過程的缺點也很明顯,代碼不易維護、復用和擴展性都很差,開發(fā)效率較低。所以面向過程的開發(fā)技術,主要是用在單片機、嵌入式開發(fā)、Linux/Unix等對性能要求較高,代碼改動不頻繁的場景中。

3. 面向對象與面向過程的對比

面向過程的解決思維是“步驟化”的 。 解決問題就是分析出實現(xiàn)一個需求所需要的步驟,通過函數(shù)(方法)一步一步地去實現(xiàn),接著我們依次調用這些函數(shù)即可。

而面向對象的解決思維是“行為化”的。就是把整個需求按照特點、功能劃分,將存在共性的部分封裝成類。類實例化后就是對象,創(chuàng)建對象不是為了完成某一個步驟,而是為了描述某個事物在解決問題時的行為。按照這種思維,項目代碼就很容易維護、復用、擴展,并且系統(tǒng)會更加的靈活。

三. 結語

至此,就給大家解釋了面向對象和面向過程的概念,并對比了兩者的區(qū)別,你現(xiàn)在知道什么叫做面向對象了嗎?

到此這篇關于詳解Java的面向對象和面向過程的文章就介紹到這了,更多相關Java面向對象和面向過程內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 教你Spring如何使用三級緩存解決循環(huán)依賴

    教你Spring如何使用三級緩存解決循環(huán)依賴

    這篇文章主要介紹了Spring使用三級緩存解決循環(huán)依賴的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Java字符串拼接效率測試過程解析

    Java字符串拼接效率測試過程解析

    這篇文章主要介紹了Java字符串拼接效率測試過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • 利用Redis實現(xiàn)延時處理的方法實例

    利用Redis實現(xiàn)延時處理的方法實例

    這篇文章主要給大家介紹了關于利用Redis實現(xiàn)延時處理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用Redis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Java?InputStream實戰(zhàn)之輕松讀取操作文件流

    Java?InputStream實戰(zhàn)之輕松讀取操作文件流

    在Java中,輸入輸出是非常重要的基礎功能,其中,InputStream是Java中的一個重要輸入流類,用于從輸入源讀取數(shù)據,下面我們就來學習一下InputStream類的相關知識吧
    2023-10-10
  • Java中實現(xiàn)String.padLeft和String.padRight的示例

    Java中實現(xiàn)String.padLeft和String.padRight的示例

    本篇文章主要介紹了Java中實現(xiàn)String.padLeft和String.padRight,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 與眾不同的 Java 日期格式化大全

    與眾不同的 Java 日期格式化大全

    這篇文章主要介紹了與眾不同的 Java 日期格式化大全,在 Java 中,經常要將時間字符串轉換為日期,或者要將日期轉換為時間字符串。,需要的朋友可以參考下
    2019-06-06
  • Spring 靜態(tài)變量/構造函數(shù)注入失敗的解決方案

    Spring 靜態(tài)變量/構造函數(shù)注入失敗的解決方案

    我們經常會遇到一下問題:Spring對靜態(tài)變量的注入為空、在構造函數(shù)中使用Spring容器中的Bean對象,得到的結果為空。不要擔心,本文將為大家介紹如何解決這些問題,跟隨小編來看看吧
    2021-11-11
  • Java中的ThreadPoolExecutor線程池詳解

    Java中的ThreadPoolExecutor線程池詳解

    這篇文章主要介紹了Java中的ThreadPoolExecutor線程池詳解,當線程池中的線程數(shù)大于 corePoolSize 時,keepAliveTime 為多余的空閑線程等待新任務的最長時間,超過這個時間后多余的線程將被終止,需要的朋友可以參考下
    2023-12-12
  • springCloud項目搭建流程步驟分解

    springCloud項目搭建流程步驟分解

    SpringCloud 作為當下最為流行的微服務框架,也越來越多的人去學習和使用這個框架。下面,我將帶大家簡單地認識一下 SpringCloud 框架,以及如何來搭建一個 SpringCloud 項目環(huán)境的教程
    2022-05-05
  • Spring IOC推導與DI構造器注入超詳細講解

    Spring IOC推導與DI構造器注入超詳細講解

    這篇文章主要介紹了Spring IOC推導與DI構造器注入,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-02-02

最新評論