面對物件 多型

2021-10-03 07:33:39 字數 1310 閱讀 9776

1,多型

封裝1,私有化 --- 保證資料安全性

2,抽取成方法 --- 提高**的復用性和可維護性

繼承可以讓類跟類之間產生關係

可以抽取重複的**到父類中。

是多型的前提

多型多種形態

概述:student s = new student();

真正的物件: new student();

左邊的s:僅僅是乙個接收變數而已。

因為要方便以後的使用。

person p = new student();

//賦值給父型別的變數。

//認為:父類型別的範圍要比子類型別要大

總結:不管是student s = new student();還是 person p = new student();

物件永遠是學生物件。

只不過第一種方式,學生物件是學生形態。

第二種方式學生物件是人形態。

簡單來說:

同乙個物件可以用不同的資料型別去接收。

,2.多型中成員的訪問特點

成員變數:

編譯看左邊,執行看左邊

成員方法:

編譯看左邊,執行看右邊

問:1.編譯看左邊到底看什麼?

其實就是看父類中是否有這個變數或者方法,如果沒有直接報錯

2.執行看左邊/執行看右邊,看的是什麼?

如果是變數,執行看左邊,輸出的是左邊這個類裡面變數的值

如果是方法,執行看右邊,實際上執行的方法是右邊那個類中的方法。

3.多型的好處和弊端

問:1.以後建立物件就是使用

fu f = new zi(); 

//不是的。因為如果用了這樣的格式,不能使用子類的特有功能,很麻煩。

以後建立物件還是跟以前一樣。

好處:如果你寫乙個方法,想讓這個方法既能接收a類,又能接收b類。

在以前,只能寫兩個方法

public static void method(a類)

public static void method(b類)

現在學習了多型,那麼可以把這兩個方法合併成乙個方法

public static void method(父類)

4.多型的向上轉型和向下轉型

向上轉型:

就是把乙個小型別賦值給乙個大的型別。

person p = new student();

向下轉型:

就是把乙個大的型別轉換為乙個小型別。

目的:為了使用子類的特有功能。

格式:person p = new student();

student s = (student)p;

面對物件多型 C 面對物件設計學習資料(多型)

c語言初學 態性是指相同的行為可能於多種型別的隊形上獲得不同的結果。不同的物件,收到同一訊息的可能產生不同的結果,這種現象稱為多型。多型可分為靜態多型和動態多型兩種。多型的優點 組織結構清晰 可讀性強 利於前期和後期的擴充套件和維護。靜態多型 函式和運算子過載。2.動態多型 這 呼叫dospeak ...

mysql面對物件 面對物件資料庫

物件導向的方式訪問資料庫 造物件 db new mysqli localhost root 123 mydb 判斷連線是否出錯 if mysqli connect error mysqli connect error or die 連線失敗!寫sql語句 sql insert into info v...

面對物件程式設計

重要的是什麼,是概念的理解。類是什麼,物件是什麼,然後封裝是什麼,繼承是什麼,多型是什麼。類是抽象的,高度概括的物件集合體。當然亂寫的類什麼都不是,轄七八糟往乙個類裡塞。這也是不合理的。這是學到目前為止,最為有用的一節課。非常的有用。就是基本概念的講解。概念的理解多少,決定你走多遠。class st...