16 初識面向物件
三十五.初識面向物件
一 .面向物件和麵向過程比較
①面向過程:一切以事物的發展流程為核心
優點:負責的問題流程化,編寫相對簡單
缺點:可擴充套件性差
②面向物件:一切以物件為中心. 一切皆為物件.
具體的某一個事務就是物件
優點:可擴充套件性強
缺點:程式設計的複雜度高於面向過程
二.類和物件
①類:就是圖紙,建立物件的第一步
物件:通過類造出來的具體事物,
②基本格式
class 類名: #建立類 類名用駝峰格式
def __init__(self,引數): # self當前類的物件,引數一般作為屬性
self.屬性 = 值
self.屬性 = 值
def 方法(self , 引數) #即函式
方法體(函式體,return)
變數 = 類名() #建立物件
變數.屬性 #訪問物件的屬性資訊
變數.方法() #訪問類中的方法
三.3大特徵 ( 封裝, 繼承, 多型.)
①封裝 1.對屬性的封裝 2.對方法和功能的封裝 3.模組和包
②繼承 : ⼦類可以⾃動擁有⽗類中除了私有屬性外的其他所有內容.
對父類進行擴充套件
當出現xxx是一種yyy型別的東西. 可以使用繼承關係
父類的物件不能執行子類中的功能
類中的方法的查詢順序. 先找自己, 然後再找父類
1.基本格式
2.支援多繼承
③多型 同一個物件,多種形態
(鴨子模型, 只要會嘎嘎叫就是好鴨子,有超強的可擴充套件性)