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

首頁 > 學院 > 開發設計 > 正文

0008 類與對象

2019-11-14 11:22:27
字體:
來源:轉載
供稿:網友

什么是面向對象

  在講解面向對象之前,我們得解決一個問題,什么是對象?

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

  面向對象,從字面意思來看就是我們人面對著一個對象。其實就是指我們從這個對象的整體出發去看它,它由哪些部件組成,它可以做到哪些事情

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

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

  面向對象的思想,體現的是人所關注對象的信息聚集在了一個具體的物體上。人們就是通過對象的屬性和行為來了解對象。  

  對于一個具體的對象而言,比如上面我們說的那一部 iphone 6,世上還有許多跟這部手機有著同樣屬性或行為的對象,我們為了方便將它們歸類起來,提取出他們相同的屬性和行為,而我們把歸類起來的這個抽象的概念,稱之為

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

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

  由此我們可以總結出類的特點:

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

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

  我們在上面反復強調對象的屬性和行為,什么是對象的屬性呢?什么又是對象的行為呢?

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

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

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

  說了那么多,那我們如何在計算機中定義一個類,如何實現一個類呢?我們以前說過,java 是面向對象的語言,而他的體現就在于Java程序都以類 class為組織單元。而一個類是對象的抽象,所以類由屬性和方法兩部分組成。

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

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

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

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

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

舉例:

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

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

類名

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

類

對象

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

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

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

People LiLei = new People();

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

為對象分配內存

創建對象后,我們就要使用對象了,使用對象無非就是對屬性和方法進行操作和調用。語法如下

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

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

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

舉例:

此處輸入圖片的描述

  接下來就是在主函數中創建對象,并進行相關的操作了。

對象

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

成員變量和局部變量

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

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

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

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

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

構造方法

  在面向對象中有一個非常重要的知識點,就是構造方法。我們只前在創建一個對象的時候類名 對象名 = new 類名();通過new關鍵字將類實例化成對象,而new后面跟的并不是我們的類名,而是與類名相同的一個方法,這個方法便是構造方法。于是可以知道new + 構造方法可以創建一個新的對象,而構造方法是定義在 Java 中的用來初始化對象的方法。

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

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

例如:

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

  2、如果我們在定義類的時候沒有寫構造方法,系統會默認給我們生成一個無參構造方法,不過這個構造方法什么也不會做。

  3、當有指定的構造方法時,系統都不會再為我們添加無參構造方法了

  4、構造方法的重載方法名相同,但參數不同的多個方法,調用時會自動根據不同的參數選擇相應的方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙洋县| 房山区| 耒阳市| 西宁市| 和林格尔县| 双鸭山市| 汕尾市| 平邑县| 昌都县| 禄丰县| 高雄市| 民县| 佛学| 赤城县| 深圳市| 金乡县| 西畴县| 凯里市| 衡山县| 芮城县| 莎车县| 思南县| 仙居县| 西安市| 江西省| 合阳县| 白河县| 关岭| 鹤岗市| 枣阳市| 当雄县| 东城区| 祥云县| 竹溪县| 宣恩县| 都昌县| 湾仔区| 增城市| 肥东县| 大冶市| 芮城县|