面向物件——封裝
- 1、類和物件
- 1.1、什么是物件
- 1.2、什么是類
- 1.3、什么是物件的屬性
- 1.4、什么是物件的行為
- 1.5、類和物件的關系
- 1.6、類的定義
- 1.7、物件的使用
- 成員變數和區域變數
- 2、封裝
- 2.1、private 關鍵字
- 2.1、this 關鍵字
- 2.3、封裝
- 2.31、封裝概述
- 2.32、封裝原則
- 2.33、封裝的好處
1、類和物件
1.1、什么是物件
萬物皆物件,客觀存在的實物皆為物件
1.2、什么是類
類是對現實生活中的一類具有共同屬性和行為的實物的抽象
類的特點:
1、類是物件的資料型別,
2、類是具有相同屬性和行為的一組物件的集合,
1.3、什么是物件的屬性
屬性: 物件具有的各種特性,每個物件的每個屬性都擁有特定的值,
1.4、什么是物件的行為
行為: 物件能夠執行的操作,
1.5、類和物件的關系
類: 類是對現實生活中一類具有共同屬性和行為的實物的抽象,
物件: 是能夠看到的摸得著的真實存在的物體,
(類是物件的抽象,物件是類的物體)
1.6、類的定義
1.61、類的重要性:類是Java程式的基本組成單位,
1.62、類是什么:類是對現實生活中一類具有共同屬性和行為的實物的抽象,確定物件將會擁有的屬性和行為,
1.63、類的組成:屬性和行為
- 屬性:在類中通過成員變數來體現(類中方法外的變數)
- 行為:在類中通過成員方法來體現(和前面的方法相比去掉static關鍵字即可)
1.64、類定義步驟:
1、定義類 public class 類名(){
2、撰寫類的成員變數 //成員變數
3、撰寫類的成員方法 變數1的資料型別 變數1;
變數2的資料型別 變數2;
......
//成員方法
方法1;
方法2;
......}
1.7、物件的使用
- 格式:類名 物件名 = new 類名();
- 范例:phone p = new phone();
使用物件
使用成員變數 - 格式:物件名.變數名;
- 范例:p.brand;
使用成員方法 - 格式:物件名.方法名();
- 范例:p.call();
成員變數和區域變數
成員變數:類中方法外的變數,
區域變數:方法中的變數,
| 區別 | 成員變數 | 區域變數 |
|---|---|---|
| 類中位置的不同 | 類中方法外 | 方法內或者方法宣告上 |
| 記憶體中位置不同 | 堆記憶體 | 堆疊記憶體 |
| 生命周期不同 | 隨著物件的存在而存在,隨著物件的消失而消失 | 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失 |
| 初始化值不同 | 有默認的初始值 | 沒有默認的初始值,必須先定義、賦值才能使用 |
2、封裝
2.1、private 關鍵字
- 是一個權限修飾符
- 可以修飾成員(成員變數和成員方法)
- 作用是保護成員不被別的類使用,被 private 修飾的成員只在本類中才能訪問
針對 private 修飾的成員變數,如果需要被其他類使用,提供相應的操作
- 提供 “set變數名 (引數)” 方法,用于設定成員變數的值,方法用public修飾,
- 提供 “get變數名()” 方法,用于獲取成員變數的值,方法用public修飾
2.1、this 關鍵字
2.11、this 修飾的變數用于指代成員變數
- 方法的形參如果與成員變數同名,不帶 this 修飾的變數指的是形參,而不是成員變數
- 方法的形參沒有與成員變數同名,不帶 this 修飾的變數指的是成員變數
2.22、什么時候使用this呢?
答:解決區域變數隱藏成員變數,
2.23、this:代表所在類的物件參考
- 記住:方法被哪個物件呼叫,this就代表哪個物件
2.3、封裝
2.31、封裝概述
封裝:是面向物件三大特征之一(封裝、繼承、多型)是面向物件編程語言對客觀世界的模擬,客觀世界里成員變數都是隱藏在物件內部的,外界是無法直接操作的,
2.32、封裝原則
將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實作對隱藏資訊的操作和訪問成員變數private,提供對應的 getXxx()/setXxx() 方法,
2.33、封裝的好處
通過方法來實作成員變數的操作,提高了代碼的安全性,把代碼用方法進行封裝,提高了代碼的復用性,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/276174.html
標籤:java
下一篇:Spring5學習筆記
