摘要:是一種典型的面向?qū)ο缶幊陶Z言。這篇文章主要是來初步理解一下面向?qū)ο蟮乃季S為下面的內(nèi)容先給一個(gè)基礎(chǔ)。針對面向?qū)ο缶幊痰母鄡?nèi)容,會在后面的文章里面詳細(xì)解釋。他們都稱之為對象。之后,我們再用編程語言,把這種映射編寫出來,就是的面向?qū)ο缶幊汤病?/p>
面向?qū)ο笫且环N主流的編程思維,其核心是把現(xiàn)實(shí)世界中的對象,對象之間的關(guān)系模擬到程序世界中,構(gòu)造一個(gè)軟件系統(tǒng)。
Java 是一種典型的面向?qū)ο缶幊陶Z言。這篇文章主要是來初步理解一下面向?qū)ο蟮乃季S為下面的內(nèi)容先給一個(gè)基礎(chǔ)。針對 Java 面向?qū)ο缶幊痰母鄡?nèi)容,會在后面的文章里面詳細(xì)解釋。
面向?qū)ο蟮乃季S里面有兩個(gè)重要的概念,對象和類。下面,逐個(gè)理解這兩個(gè)概念。
1. 什么是對象?一個(gè)鼠標(biāo),一個(gè)小狗,一個(gè)男孩,一個(gè)足球,美女和汽車,他們都是一個(gè)對象,這些都是我們現(xiàn)實(shí)世界中客觀存在的東西,能看得見,摸得著。他們都稱之為“對象”。每個(gè)對象都有他的屬性和行為,比如小狗,棕色的皮毛,圓圓的眼睛,這是它的屬性,小狗可以跑,可以叫,這是它的行為。什么是對象,現(xiàn)在很清楚了:
對象:世界中客觀存在的東西,具有自己的屬性和行為
2. 什么是類?下面來理解另外一個(gè)重要的概念:類 ,來,先看一下這個(gè)圖片:美女和汽車,是這個(gè)人的認(rèn)知,是抽象的概念,不是客觀存在的具體事物。什么是美女呢,很多女明星都可以稱之為美女,五官精致,身材好,所有我們稱之為美女,此處的美女不是具體指某一個(gè)真實(shí)的人,而是一個(gè)統(tǒng)稱,一個(gè)認(rèn)知對吧。在這里“美女”就是一個(gè)類的概念,它是一個(gè)對具體對象特性的一個(gè)抽象概括,是一個(gè)概念。同理,這里的汽車也是一個(gè)類的概念。
類:對現(xiàn)實(shí)世界對象的抽象總結(jié),一個(gè)概念,不是客觀存在的。
3. 類和對象的關(guān)系OK,接下來,討論一下類和對象的關(guān)系。上面這個(gè)圖片中男孩腦袋中產(chǎn)生的一個(gè)概念“girl” 是一個(gè)類的概念,這個(gè)概念具有世界上所有女孩的特征。左邊幾個(gè)不同國家的女孩,則是真實(shí)存在的對象,是對“girl”這個(gè)概念(類)的具體體現(xiàn)。
再看,汽車的小圖,虛線的 car 則是一個(gè)類的概念,這里可以把它理解為汽車的設(shè)計(jì),也是模板,這里面包含了所有汽車共有的一些屬性和行為,右邊三個(gè)不同顏色不同品牌的汽車,則是真實(shí)的對象。他們是根據(jù)左邊的汽車的模板(類),而生產(chǎn)的不同的可以使用的汽車。所有這里可以理解為類是對象的模板,通過類,可以創(chuàng)建具有共同標(biāo)準(zhǔn),又有個(gè)性差異的對象。
OK,那么來總結(jié)一下類和對象的關(guān)系:
類是描述一類對象屬性和行為的模板(藍(lán)圖或者設(shè)計(jì)),對象是類的一個(gè)具體呈現(xiàn)(實(shí)現(xiàn))
4. Java 的面向?qū)ο?/b>到這里,已經(jīng)理解了面向?qū)ο蟮膸讉€(gè)重要的概念。那么 Java 編程中到底是怎么來用“面向?qū)ο蟆边@種思維模式來編程的呢?
OK,假如你是一個(gè)外星人,剛來到地球,看到馬路上跑的四個(gè)輪子的汽車,搞不懂是什么。這個(gè)時(shí)候,我用人類的語言來給你解釋,像圖片中左邊部分那樣,“汽車是一類什么東西”,那么對于 Java 的事件,則會用 public class Car {}這段代碼來描述一個(gè)類,下面一個(gè)汽車的屬性和行為,在 Java 語言中同樣也有對應(yīng)的映射,就是變量和函數(shù)。
其實(shí),把人類世界對象,抽象映射到程序世界中的過程,就是面向?qū)ο蟮乃季S。這個(gè)行為一個(gè)專業(yè)的名字,稱為“建?!?。之后,我們再用 Java 編程語言,把這種映射編寫出來,就是 Java 的面向?qū)ο缶幊汤?。好,先理解到這,就可以。
Java面向?qū)ο蟮木幊?,就像?Java 語言講故事,把現(xiàn)實(shí)世界抽象、映射到 Java 的世界。
5. 使用對象現(xiàn)在,已經(jīng)對面向?qū)ο笥幸粋€(gè)不錯(cuò)的理解了。那么在 Java 中怎么來使用對象呢,在上面的過程中,我們編寫了一個(gè) 汽車的類(Car),怎么樣根據(jù)這個(gè)汽車的模板,來生產(chǎn)汽車呢。
Java 中創(chuàng)建生產(chǎn)對象的方法,就是使用類的構(gòu)造方法,來構(gòu)造對象,對應(yīng)的代碼是這個(gè)樣子:Car polo = new Car(180,"green", "polo");, 這句代碼的意思是,構(gòu)建了一個(gè)速度是180,顏色是green,品牌是polo的汽車對象,并給這個(gè)對象指定了一個(gè)名字:polo。這個(gè)過程也叫new一個(gè)汽車對象polo
只有產(chǎn)生對象之后,才可以調(diào)用該對象的方法
polo.startup();
這句代碼就意思,讓polo這個(gè)車啟動。也就是調(diào)用了polo對象的startup方法。
下面是完整的代碼,你可以自己來編寫幾遍,然后執(zhí)行它。直到你很熟練的自己能夠完成。
public class Car { // 汽車的速度(屬性) int speed; // 汽車的顏色(屬性) String color; // 汽車的品牌(屬性) String brand; //構(gòu)造方法,用來創(chuàng)造對象 public Car(int speed,String color, String brand) { this.brand = brand; this.color = color; this.speed = speed; } // 汽車的啟動函數(shù)(行為) void startup() { System.out.println("汽車啟動了......"); System.out.println("品牌:" + this.brand); System.out.println("顏色:" + this.color); System.out.println("速度:" + this.speed); } // 汽車的行駛函數(shù)(行為) void run(int speed) { System.out.println("正以" + speed + "的速度狂奔"); } public static void main(String[] args) { // 創(chuàng)建了一個(gè)汽車對象:polo Car polo = new Car(180,"green", "polo"); // 創(chuàng)建了一個(gè)汽車對象:mini Car mini = new Car(120,"blue","mini"); // 創(chuàng)建了一個(gè)汽車對象:beetle Car beetle = new Car(100,"red","beetle"); // 調(diào)用對象polo的啟動方法(汽車的啟動行為) polo.startup(); polo.run(200); mini.startup(); mini.run(80); beetle.startup(); beetle.run(130); } }
控制臺輸出:
汽車啟動了...... 品牌:polo 顏色:green 速度:180 正以200的速度狂奔 汽車啟動了...... 品牌:mini 顏色:blue 速度:120 正以80的速度狂奔 汽車啟動了...... 品牌:beetle 顏色:red 速度:100 正以130的速度狂奔
先使用對象的模板(類)創(chuàng)造對象,之后可以調(diào)用對象的行為,讀取對象的屬性。
總結(jié)OK,最后總結(jié)一下幾點(diǎn)。來加深一下印象。
對象:世界中客觀存在的東西,具有自己的屬性和行為。
類:對現(xiàn)實(shí)世界對象的抽象總結(jié),一個(gè)概念,不是客觀存在的。
類和對象:類是描述一類對象屬性和行為的模板(藍(lán)圖或者設(shè)計(jì)),對象是類的一個(gè)具體呈現(xiàn)(實(shí)現(xiàn))。
Java面向?qū)ο蟮木幊蹋壕拖裼?Java 語言講故事,把現(xiàn)實(shí)世界抽象、映射到 Java 的世界。
對象的使用:先使用對象的模板(類)創(chuàng)造對象,之后才可以調(diào)用對象的行為,讀取對象的屬性。
在后面的內(nèi)容里,會更多更深入的來講 Java 的面向?qū)ο缶幊獭?/p>
QQ交流群:468439140
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68348.html
摘要:個(gè)人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開始萌生寫文章的想法,到著手...
摘要:一項(xiàng)目目錄結(jié)構(gòu)介紹與項(xiàng)目進(jìn)行交互的命令行工具集的入口項(xiàng)目管理器目錄項(xiàng)目容器,包含項(xiàng)目的基本配置,目錄名稱不建議修改中聲明模塊的文件,內(nèi)容默認(rèn)為空項(xiàng)目的總配置文件,包含數(shù)據(jù)庫應(yīng)用時(shí)間等各種配置配置文件,項(xiàng)目中所有地址頁面都需要我們自己去配置其 一、項(xiàng)目目錄結(jié)構(gòu)介紹 showImg(https://segmentfault.com/img/remote/1460000016373937?w...
閱讀 2704·2023-04-25 17:21
閱讀 2564·2021-11-23 09:51
閱讀 2860·2021-09-24 10:32
閱讀 3785·2021-09-23 11:33
閱讀 1986·2019-08-30 15:44
閱讀 3463·2019-08-30 11:18
閱讀 3538·2019-08-30 10:53
閱讀 635·2019-08-26 13:25