面向物件的那些事——(代碼小白必備,java基礎篇)
- 1.面向物件的理解
- 2.三大特性
- :繼承
- :封裝
- :多型
- 自動裝箱與自動拆箱
- 小結
今日份分享:
1.面向物件的理解
面向物件的理解
首先,要清楚一點,與面向程序不同,面向物件有著自己獨特的優勢,舉個通俗的例子,設想我們要得到一把椅子,面向程序的話我們可能需要通過買木材,設計圖紙,最后切割而成,但對于面向物件來說,我們只需找到一個家具店,買一把椅子即可,
面向物件也是Java語言的特點之一,其實從idea中不難看出,這種面向物件的語言所具有:
1.易維護
2.易復用
3.易擴展
2.三大特性
三大特性
:繼承
1.繼承(extends):
顧名思義,是獲取原有的基礎,在此基礎上進行操作的一個程序,使用已存在的類的定義作為基礎,可以增加新的屬性的一個程序,(在java中,繼承是用于子類與父類之間)
例如:
1.先定義一個父類(動物)

2.定義一個子類(貓)

其中,貓作為動物,可以繼承動物中的吃食物的特性,此外,貓具有喜歡抓老鼠的特性,
3.進行測驗


從上述這個簡單的例子可以看出,繼承是通過extends關鍵字來實作的,貓的類中沒有定義吃食物的屬性,但是繼承后可以使用吃食物的屬性(可以提高代碼的復用性),
關于繼承:
1.子類不能選擇性的繼承父類,只要選擇繼承,就要繼承全部(除了父類中private修飾的屬性和方法)
2.子類是對父類的一個擴展,可以有屬于自己的屬性和方法
3.java是單繼承,但可以多重繼承(也就是有一個子類只能繼承一個父類,但是一個父類可以有多個子類,通俗來說,就是你的爸爸可以有多個孩子,但這些孩子只有一個爸爸,)
:封裝
2.封裝(private):
封裝的定義:
將一些細節資訊私有化,并且提供給外界可以對其訪問其屬性的方法(如果不提供,那么這個封裝沒有意義)
特點:
被private修飾的類的權限最低,也最為安全,其安全性與其易維護性顯著.
例如:
public class Fengzhuang {
private int chang;//成員屬性
private int kuan;
private int di;
private int gao;
public Fengzhuang() {//無參構造
}
public Fengzhuang(int chang, int kuan, int di, int gao) {//帶參構造
this.chang = chang;
this.kuan = kuan;
this.di = di;
this.gao = gao;
}
public int getChang() {
return chang;
}
public void setChang(int chang) {
this.chang = chang;
}
public int getKuan() {
return kuan;
}
public void setKuan(int kuan) {
this.kuan = kuan;
}
public int getDi() {
return di;
}
public void setDi(int di) {
this.di = di;
}
public int getGao() {
return gao;
}
public void setGao(int gao) {
this.gao = gao;
}
public void mj(int chang,int kuan,int di,int gao){
int sum=chang*kuan;
int sum2=di*gao/2;
System.out.println("長方形的面積為"+sum+"三角形的面積為"+sum2);
}
}
這個例子中,將長方形和三角形的面積封裝起來,作為一個方法來使用
3.進行測驗
public class Fengzhuangtest {
public static void main(String[] args) {
Fengzhuang FZ = new Fengzhuang();
FZ.mj(5,4,6,7);
;
}
}

關于封裝:
方法和private修飾的類都是封裝的形式,當大家遇到這種只需變換數字(長和寬,底和高)的情況,可以封裝為方法,方便大家使用.
:多型
2.多型:
多型定義:
允許不同物件對同一訊息做出不同的回應,
實作多型的條件:
要想實作多型,必須滿足繼承,重寫,父類參考指向子類物件三大必要條件(又分為向上轉型,向下轉型)
向上轉型:
父型別別變數名= new 子型別別
這種情況一般適用于父類完全滿足需求,我們不需要再去添加新的屬性
向下轉型:
子型別別 變數名=子型別別 父型別別的變數
這種情況一般適用于父類滿足不了需求,需要用到子類所特有的方法時使用
例如:
1.先定義一個父類(動物都有吃的功能)

2.定義兩個子類(貓,狗)


在這個例子中,同樣都是吃東西,對貓這個物件來說,是吃魚,對狗來說,是吃骨頭,是多型的體現
3.進行測驗


自動裝箱與自動拆箱
自動裝箱:
自動將基本資料型別轉化為包裝型別別
自動拆箱
自動將包裝型別別轉化為基本資料型別
小結
提到面向物件,大家應該立馬想到它的三大特性,了解其基礎概念.多敲代碼,多做題,在案例中體會三大特性
好了,今日份分享已結束,如有錯誤,請大家多多包涵和指點,
如果覺得還不錯的話,記得點贊加關注哦!!!筆芯!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277650.html
標籤:java
