面向對象1

 

 

對於事物的描述一般只關注2個方面java

一個是屬性,一個是行爲安全

只要明確該事物的屬性和行爲並定義在類中便可框架

 

對象 :其實就是該類事物實實在在存在的個體函數

 

類與對象之間的關係spa

類:事物的描述對象

對象 :該類事物的實例 。在java中經過new來建立的內存

 

 

 

描述小汽車作用域

分析get

  1、屬性變量

        輪胎數

        顏色

 

   2、行爲    

        運行

 

 

定義類其實就是在定義類中的成員

成員:

    

   成員變量(定義在類中)-----------屬性

   成員函數 -----------行爲

 

 

局部變量 :做用域 : 方法中,語句中

 

 

      //在計算機中建立一個Car的實例 ;經過new關鍵字

//c 就是一個類類型的引用變量 ,指向了該類對象

 Car c = new Car();

 

 c.num = 5;

 c.color = "bule";

 c.show();

 

 

 

 

 

 

 

 

 

一旦產生一個對象,該對象必定就具有着該類所具有的內容

對象封裝的是一個事物當中所具有的特有數據(與同類對象的區別)

對象封裝的是數據,而不是封裝對象的屬性(屬性與數據的區別,數據是對屬性的賦值)

 

 

 

成員變量和局部變量的區別

  1、成員變量

        定義在類中,整個類中都有效

        存在於堆內存的對象中

        成員變量隨着對象的建立而存在,隨着對象的消失而消失

         都有默認初始化值

     

  2、局部變量

        定義在函數、語句、局部代碼塊中,只在所屬的區域有效

        存在於棧內存的方法中

        隨着所屬區域的執行而存在,隨着所屬區域的結束而釋放

        沒有初始化值,必需要賦值

 

 

 

 

 

誤區理解 :

         成員變量  num :是說汽車這類事物,應該具有num的這個屬性

 

         而c.num 是對該類的一個對象(實例)  對對象自身的num屬性進行賦值

         是對  對象中的屬性進行賦值

 

  

 

成員變量和局部變量同名:

  本身所屬的區域(棧)有,就不用出去找(堆)

 

對成員變量賦值就是顯示初始化

 

 

 

 

 

 

 

 

   數據類型 變量名  

   C : 類類型變量確定指向的是對象,否則就爲null

   

Public static void show(Car  c)    類類型變量只能接收的是對象(實例)

{

 

}

 

 

匿名對象

new Car( ).run( );

 

1、當對象對方法僅進行一次調用的時候,就能夠簡化爲匿名對象

2、匿名對象能夠做爲實際參數進行傳遞  show(new Car( ) );

     確定會有一個類類型的引用變量來接收這個匿名對象

      public   static void show( Car c )

 

 

 

 

 

 

封裝  

    封裝 : 是指隱藏對象的屬性和實現細節 ,僅對外提供公共的訪問方式

 

好處

   

一、將變化隔離

二、便於使用

三、提升重用性

四、提升安全性

 

 

封裝的原則

  1、將不須要對外提供的內容都隱藏起來

  2、把屬性都隱藏,提供公共方法對其訪問

 

 

 

 

 

 

 

 

 

 

 

一旦有屬性  幾乎都隱藏 , 對外提供公共的訪問方法

對外提供方法的目的是  對屬性進行可控

 

private 私有 :是一個權限修飾符 ,用於修飾成員 ,(修飾不了局部)

              私有的內容 只在本類中有效

 

      經常使用

        將成員變量私有化,對外提供對應的set  get方法

        對方法進行訪問。提升對數據訪問的安全性

        用方法的目的是對數據進行可控(方法體內能夠對數據進行判斷)

 

注意 :私有僅僅是封裝的一種體現而已

        筆記本 、手機 就是一個封裝體

       

 java中最小的封裝體就是函數

          類也是封裝體

          框架也是封裝體

 

 

 

 

 

構造函數

   特色

    1、函數名與類名相同

    2、不用定義返回值類型

    3、沒有具體的返回值

 

   做用

      給對象進行初始化

 

  注意

    1、默認構造函數的特色

    2、多個構造函數是以重載的形式存在的

 

 

 

 

 

構造函數在對象一建立的時候就運行了 ,用於給對象進行初始化

 

構造函數: 構建創造對象的時候就會馬上 調用的函數  ,做用 :是個建立的對象進行初始化

  

建立的對象都必需要經過構造函數初始化 ,對象不初始化絕對不能用

 

函數是封裝體,相同的函數名及參數列表,就是相同的函數,不關心函數體是否相同

   

 

一個類中若是沒有定義過構造函數,那麼該類中會有一個默認的空參數的構造函數

若是在類定義了指定的構造函數,那麼類中的默認構造函數就沒有了

 

 

 

 

構造函數和通常函數的區別

 

 構造函數

    對象一旦建立,就會馬上調用與之相對應的構造函數,對  對象進行初始化

    對象建立時,會調用,只調用一次

   

 

 通常函數

    對象建立後,須要該函數功能時才調用

    對象建立後,能夠被調用屢次

相關文章
相關標籤/搜索