友快網

導航選單

【java課堂】面向物件的語言特點及其對應的語言----面向物件入門

今日分享開始啦,請大家多多指教

~

一.面向物件的概述

面向物件是一種符合人類思維習慣的程式設計思想。與面向過程不同,面向物件有著自己獨特的優勢。舉個通俗的例子,假如我們要得到一張木床,面向過程的話我們可能需要透過買木材,設計圖紙,最後切割而成。但對於面向物件來說,我們只需找到一個傢俱店,買一張床即可。

面向物件也是

Java語言的特點之一,這種面向物件的語言所具有:

1、封裝性

2、繼承性

3、多型性

二.三大特性

1.封裝(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);

}

}

這個例子中

,將長方形和三角形的面積封裝起來,作為一個方法來使用

進行測試

public class Fengzhuangtest {

public static void main(String[] args) {

Fengzhuang FZ = new Fengzhuang();

FZ。mj(5,4,6,7);

}

}

關於封裝:

方法和

private修飾的類都是封裝的形式,當大家遇到這種只需變換數字(長和寬,底和高)的情況,可以封裝為方法,方便大家使用。

2.繼承(extends):

繼承性主要描述的是類與類之間的關係,透過繼承,使用已存在的類的定義作為基礎,對原有類的功能進行擴充套件。(在

java中,繼承是用於子類與父類之間)

例如:

1。先定義一個父類

2。定義一個子類

其中,貓作為動物,可以繼承動物中的吃食物的特性,另外貓具有喜歡抓老鼠的特性。

3。進行測試

從上述這個簡單的例子可以看出,繼承是透過

extends關鍵字來實現的,貓的類中沒有定義吃食物的屬性,但是繼承後可以使用吃食物的屬性(可以提高程式碼的複用性)。

關於繼承:

1。子類不能選擇性地繼承父類,只要選擇繼承,就要繼承全部(除了父類中private修飾的屬性和方法)

2。子類是對父類的一個擴充套件,可以有屬於自己的屬性和方法

3。java是單繼承,但可以多重繼承(也就是有一個子類只能繼承一個父類,但是一個父類可以有多個子類。通俗來說,就是你的爸爸可以有多個孩子,但這些孩子只有一個爸爸。)

3.多型:

多型是允許不同物件對同一訊息做出不同的響應,它指在一個類中定義的屬性和方法被其他類繼承後,它們可以具有不同的資料型別或表現出不同的行為,這使得同一個屬性和方法在不同的類中具有不同的語義。

實現多型的條件

要想實現多型

,必須滿足繼承,重寫,父類引用指向子類物件三大必要條件(又分為向上轉型,向下轉型)

向上轉型

父類型別變數名

= new 子類型別

這種情況一般適用於父類完全滿足需求

,我們不需要再去新增新的屬性

向下轉型

子類型別

變數名

=子類型別 父類型別的變數

這種情況一般適用於父類滿足不了需求

,需要用到子類所特有的方法時使用

例如:

1。先定義一個父類(動物都有吃的功能)

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

在這個例子中,同樣都是吃東西,對貓這個物件來說是吃魚;對狗來說是吃骨頭,這就是多型的體現。

3。進行測試

自動裝箱:自動將基本資料型別轉化為包裝類型別

自動拆箱

:自動將包裝類型別轉化為基本資料型別

小結

提到面向物件,自然會想到面向過程,面向過程就是分析解決問題所需要的步驟,然後用函式把這些步驟一一實現,使用的時候一個一個依次呼叫就可以了。首先要關注它的三大特性

,瞭解其基礎概念。

今日份分享已結束,請大家多多包涵和指點,感謝大家點贊支援!

上一篇:【java註解】java註解的基本語法& amp; 註解的註解的屬性& amp; # 8212;
下一篇:java入門spring boots