国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

0008 類與對象

2019-11-14 09:59:53
字體:
供稿:網(wǎng)友

什么是面向?qū)ο?/h2>

  在講解面向?qū)ο笾埃覀兊媒鉀Q一個問題,什么是對象?

  對象,從字面意思來看就是我們面對的物象。于此我們便可以知道,萬事萬物皆為對象。比如:一臺電腦,一輛汽車,一部手機等等都是對象。

  面向?qū)ο螅瑥淖置嬉馑紒砜淳褪俏覀內(nèi)嗣鎸χ粋€對象。其實就是指我們從這個對象的整體出發(fā)去看它,它由哪些部件組成,它可以做到哪些事情

  比如:我們想要買一部手機,我們想要內(nèi)存大一點的,最新款的,CPU 運算快一點的,能實現(xiàn)發(fā)短信和打電話功能的手機。那么這部手機是不是對象呢?它不是。當(dāng)我們買了一部 iphone 6 后,它滿足我們上面的所有信息。于是我們拿在手上的這部 iphone 6 就是我們的對象。于是我們知道,對象一定是一個具體的,確定的物體

 而這部手機它的樣式,顏色,大小,產(chǎn)地,編號等等,便是這部手機的“屬性”,這部手機可以打電話、發(fā)短信,便是它的“行為”。

  面向?qū)ο蟮乃枷耄w現(xiàn)的是人所關(guān)注對象的信息聚集在了一個具體的物體上。人們就是通過對象的屬性和行為來了解對象。  

  對于一個具體的對象而言,比如上面我們說的那一部 iphone 6,世上還有許多跟這部手機有著同樣屬性或行為的對象,我們?yōu)榱朔奖銓⑺鼈儦w類起來,提取出他們相同的屬性和行為,而我們把歸類起來的這個抽象的概念,稱之為

  比如:每個人就是一個對象,小張是一個對象,小明是一個對象。而每個人雖然不同,但卻有許多相同的屬性和行為,于是我們可以他們抽象出來,變成一個類,比如人類。

  類是封裝對象的屬性和行為的載體,反過來說具有相同屬性和行為的一類實體被稱為類。

  由此我們可以總結(jié)出類的特點:

  1. 類是相同或相似對象的一種抽象,是對象的一種類型

  2. 類是具有相同屬性和方法(行為)的對象的集合

  我們在上面反復(fù)強調(diào)對象的屬性和行為,什么是對象的屬性呢?什么又是對象的行為呢?

  屬性是對象具有的特征。每個對象的每個屬性都擁有特定值。我們上面講過對象是一個具體并且確定的事物,正是對象屬性的值來區(qū)分不同的對象,比如我們可以通過一個人的外貌特征區(qū)分他。

  那什么是對象的行為呢?在計算機中我們通過方法去實現(xiàn)對象的行為,而對象的方法便是對象所具有的操作,比如人會走路、會哭泣、會學(xué)習(xí)等等都是人的行為,也就是人的方法。    

       類和對象之間有什么關(guān)系嗎?在上面的講解中大家應(yīng)該有些了解了。類就是對象的抽象,對象就是類的具體。比如手機是一個抽象的概念,它代表著類。而一部 iphone 6 便是手機具象化處理的實體,也就是一個對象。  

  說了那么多,那我們?nèi)绾卧谟嬎銠C中定義一個類,如何實現(xiàn)一個類呢?我們以前說過,java 是面向?qū)ο蟮恼Z言,而他的體現(xiàn)就在于Java程序都以類 class為組織單元。而一個類是對象的抽象,所以類由屬性和方法兩部分組成。

  定義一個類,主要有三個步驟:

  1、定義類名,用于區(qū)分不同的類。如下代碼中 public class 后面跟的就是類名。class是我們聲明類的關(guān)鍵字,類名后面跟上大括號,大括號里面就是我們類的一些信息。

public class 類名{//定義屬性部分(成員變量)屬性1的類型 屬性1;屬性2的類型 屬性2;...//定義方法部分方法1;方法2;...}

  2、編寫類的屬性。對象有什么,我們通過屬性來表示。屬性的定義我們是寫在類名后面的大括號里,在定義屬性時,要明確屬性的類型。在一個類當(dāng)中可以寫一個或多個屬性。當(dāng)然也可以不定義屬性。

  3、編寫類的方法。方法也是寫在大括號里面。我們可以定義一個方法或多個方法,當(dāng)然也可以不定義方法。

舉例:

1、 打開 Eclipse,新建一個 Java 項目,取名為 PRoject。

2、在左側(cè)空白地方點擊右鍵新建一個Class,這便是我們的類了。填上包名( pakage )和我們的類名

類名

3、至此我的類就創(chuàng)建好了,接下來就是對類填寫屬性和方法了

類

對象

  我們要使用一個對象,首先第一步便是創(chuàng)建一個對象。創(chuàng)建對象的語法如下:

類名 對象名 = new 類名();

比如對People這個類,我想實例化LiLei這個人。LiLie 的數(shù)據(jù)類型便是 People 這個類型。(類可以看成使我們自己定義的數(shù)據(jù)類型)

People LiLei = new People();

  我們在上一講中介紹形參和實參的時候畫了內(nèi)存圖,定義類的時候是不會為類開辟內(nèi)存空間的,但是一旦創(chuàng)建了對象,系統(tǒng)就會在內(nèi)存中為對象開辟一塊空間,用來存放對象的屬性值和方法。

為對象分配內(nèi)存

創(chuàng)建對象后,我們就要使用對象了,使用對象無非就是對屬性和方法進(jìn)行操作和調(diào)用。語法如下

//引用對象屬性對象名.屬性//引用對象方法對象名.方法

例如,我們對LiLei的身高賦值,并調(diào)用哭這個方法

LiLei.height = 170;LiLei.cry();

舉例:

此處輸入圖片的描述

  接下來就是在主函數(shù)中創(chuàng)建對象,并進(jìn)行相關(guān)的操作了。

對象

  剛剛我們引入了成員變量這個概念,那什么是成員變量呢?成員變量就是指的對象的屬性,是在類中定義,來描述對象的特性。還有一種變量叫局部變量,它是由類的方法定義,在方法中臨時保存數(shù)據(jù)。

成員變量和局部變量

  注意:我們的成員變量可以被本類的所有方法所使用,同時可以被與本類有關(guān)的其他類(比如:繼承該類的類)所使用。而我們的局部變量只能在當(dāng)前的方法中使用。

  作用域可以簡單地理解為變量的生存期或者作用范圍,也就是變量從定義開始到什么時候消亡。

  1. 局部變量的作用域僅限于定義它的方法內(nèi)。而成員變量的作用域在整個類內(nèi)部都是可見的

  2. 同時在相同的方法中,不能有同名的局部變量;在不同的方法中,可以有同名的局部變量。

  3. 成員變量和局部變量同名時,局部變量具有更高的優(yōu)先級。 

構(gòu)造方法

  在面向?qū)ο笾杏幸粋€非常重要的知識點,就是構(gòu)造方法。我們只前在創(chuàng)建一個對象的時候類名 對象名 = new 類名();通過new關(guān)鍵字將類實例化成對象,而new后面跟的并不是我們的類名,而是與類名相同的一個方法,這個方法便是構(gòu)造方法。于是可以知道new + 構(gòu)造方法可以創(chuàng)建一個新的對象,而構(gòu)造方法是定義在 Java 中的用來初始化對象的方法。

  1、 構(gòu)造方法的名稱與類名相同,且沒有返回值。它的語法格式如下:

//與類同名,可以指定參數(shù),沒有返回值public 構(gòu)造方法名(){//初始化代碼}

例如:

package com.shiyanlou;public class People {//屬性(成員變量)有什么    double height;     //身高    int age;           //年齡    boolean sex;       //性別,true為男性,false為女性    //構(gòu)造函數(shù),初始化了所有屬性    public People(double h, int a, boolean s){        height = h;        age = a;        sex = s;    }}
//創(chuàng)建對象,調(diào)用我們自己定義的有參構(gòu)造方法People XiaoMing = new People(168, 21, false);

  2、如果我們在定義類的時候沒有寫構(gòu)造方法,系統(tǒng)會默認(rèn)給我們生成一個無參構(gòu)造方法,不過這個構(gòu)造方法什么也不會做。

  3、當(dāng)有指定的構(gòu)造方法時,系統(tǒng)都不會再為我們添加無參構(gòu)造方法了

  4、構(gòu)造方法的重載方法名相同,但參數(shù)不同的多個方法,調(diào)用時會自動根據(jù)不同的參數(shù)選擇相應(yīng)的方法。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐安县| 富川| 北票市| 呼玛县| 固原市| 荣昌县| 衢州市| 崇礼县| 大埔县| 尉犁县| 南投市| 勐海县| 什邡市| 平度市| 合肥市| 新田县| 大冶市| 建宁县| 浮山县| 河源市| 德阳市| 永昌县| 成武县| 邛崃市| 眉山市| 宁城县| 芜湖市| 大安市| 正阳县| 边坝县| 临清市| 乐平市| 明水县| 郴州市| 凤山县| 浠水县| 吉首市| 嘉定区| 天长市| 宜兴市| 和平县|