1. 動物類的shout方法描述的不正確。
2. 沒有強制要子類一定要重寫shout方法。
我們在描述一類事物的時候,發現該種事物確實存在著某種行為,但是這種行為目前是不具體的,那麼我們可以抽取這種行為 的宣告,但是不去實現該種行為,這時候這種行為我們稱作為抽象的行為,我們就需要使用抽象類。
抽象類的好處: 強制要求子類一定要實現指定的方法。
有顏色屬性和叫的方法
有顏色屬性和叫的方法
1)顏色的屬性可以使用預設初始化值。
2)叫的方法在父類中如何定義?
1》狗是旺旺
2》鳥是嘰嘰喳喳
3》可以將父類的方法定義為狗叫讓鳥繼承父類重寫叫的方法
*** 鳥怎麼確定是否要重寫父類方法。
*** 不重寫,編譯和執行都沒有問題,只是執行鳥叫的方法就會出現狗叫
4》父類的方法很難確定。
class animal
}class dog extends animal
}class bird extends animal
}
1:當描述乙個類的時候,如果不能確定功能函式如何定義,那麼該類就可以定義為抽象類,功能函式應該描述為抽象函式。
1)定義叫的方法,無法確定方法體,不寫方法體
2)publicvoid shout(); 編譯失敗
1)編譯失敗,有新的提示
1)編譯通過
abstract class animal
class dog extends animal
}class bird extends animal
}
1:有抽象函式的類,該類一定是抽象類。
2:抽象類中不一定要有抽象函式。
3:抽象類不能使用new建立物件
1)建立物件,使用物件的功能,抽象類的方法,沒有方法體。
4:抽象類主要為了提高**的復用性,讓子類繼承來使用。
5:編譯器強制子類實現抽象類父類的未實現的方法。
1)可以不實現,前提是子類的也要宣告為抽象的。
1:提高**復用性
強制子類實現父類中沒有實現的功能
2:提高**的擴充套件性,便於後期的**維護
1:抽象類中一定有建構函式。主要為了初始化抽象類中的屬性。通常由子類實現。
一定不能同時修飾。
abstract class animal
animal(string name)
abstract void shout();
}class dog extends animal
dog(string name)
void shout()
}class myclass
}
final與abstract不能共存:
final:它的作用 修飾類代表不可以繼承 修飾方法不可重寫
abstract修飾類就是用來被繼承的,修飾方法就是用來被重寫的。
static 修飾的方法可以用類名呼叫,
對於abstract修飾的方法沒有具體的方法實現,所有不能直接呼叫,也就是說不可以與static共存。
private
private修飾的只能在本類中使用,abstract方法是用來被子類進行重寫的,有矛盾, 所以不能共存.
第二十八天
1 建立乙個名稱為itcast的資料庫。create database itcast 2 設計資料表tb student的字段結構,欄位有id 學號 name 姓名 age 年齡 enrolmentdate 入學時間 並選擇適合的資料型別。tb student資料表的字段結構如下表所示 欄位名 型別...
蛻變,第二十八天
1 什麼是包 包是模組的一種形式,包的本質就是乙個含有 init py檔案的資料夾 2.為什麼要有包 因為如果我們要把我們寫的一大堆功能分類處理,並且數量眾多,我們需要進行分檔案儲存,則需要用到包的概念 3 如何用包 匯入包就是在包下的 init py import from import 注意的問...
冥想第二十八天
今天5點多就不困了,天氣有點冷,醒了。告訴自己,都是正常的。確實是正常的。都是人最直觀的感受。改變固有思維,以前會聯想很多造成的,讓自己越來越膽小。可這一切都是那麼的正常。固定的生物鐘也改起了。一切放輕鬆。不怪以前的自己,畢竟自己一天比一天好。多學習別人身上的優點,不狹隘。不能因為環境冷了,而埋怨自...