物件導向程式設計(3)

2021-09-22 14:04:06 字數 815 閱讀 8965

封裝有兩方面的含義:

1、將資料和行為包裝到類物件中,在方法內部對屬性進行操作,在類物件的外部呼叫方法。無需關心方法內部的具體實現細節,從而提高了複雜度。

2、在類物件內部通過訪問控制把某些屬性和方法隱藏起來,不允許在類物件的外部直接訪問,而是在類物件的內部對外提供公開的介面方法以訪問隱藏的資訊。這樣,就對隱藏的資訊進行了保護。

class animal(object):

def eat(self):

print("吃飯")

def drink(self):

print("喝水")

class dog(animal):

def swim(self):

print("游泳")

繼承可分為單繼承和多繼承:

單繼承:子類只有乙個直接父類時稱為單繼承

多繼承:子類有多個直接父類時稱為多繼承

子類會繼承所有父類(包括所有直接父類和所有間接父類)的所有屬性和方法。

如果子類對繼承父類的某個屬性或者方法不滿意,可以在子類中對其進行重寫從而提供自定義的實現,重寫的方式為:在子類中定義與父類中同名的屬性或方法(包括裝飾器)

子類重寫父類的屬性(方法)後,通過子類或其實例物件只能訪問子類中重寫後的屬性,而無法再訪問父類中被重寫的屬性(方法)。

父類中被重寫的名為***的方法,在子類重寫後的方法中可以通過super().***()進行呼叫。

從下往上,從左到右

對於一顆類繼承樹,可以呼叫最底層的類物件的方法mro()或訪問最底層類物件的特殊屬性__mro__,獲得這可類繼承樹的mro。

3 物件導向程式設計

基礎型別,如byte int bool float等 復合型別,如陣列 結構體 指標等 可以指向任意物件的型別 any型別 值語義和引用語義 物件導向,即所有具備物件導向特徵 比如成員方法 的型別 介面 type integer int func a integer less b integer b...

物件導向程式設計作業3

github鏈結 我選擇的是用c 實現 c語言實現三電梯過程 讀取乘客請求 asktime請求時間,askfloor請求樓層,askspace請求目的地 分析乘客請求,判斷其應乘坐哪號電梯 若相應電梯接到請求便開始執行 判斷電梯是否到達請求樓層或者請求目的地,若到達,電梯停靠,否則繼續響應請求 若處...

3 物件導向程式設計初步

如何開汽車 事務比較簡單,可以用線性的思維去解決 面向過程 物件導向 1.踩離合 駕駛員 2.掛擋 汽車 3.踩油門,放離合 駕駛員開汽車!4.開了 car.start 如何製造汽車 事物比較複雜使用簡單的線性思維無法解決 面向過程 物件導向 1.造車輪?車輪 2.造發動機?買橡膠到馬來西亞找到橡膠...