winter vacation project 2021

  • Home
    • Site Map
    • reveal
    • blog
  • W1
    • Day1(0116)
      • Python源起
      • 基本Python程式
      • Python程式碼格式重點
      • 常見程式設計錯誤(bug)
    • Day2(0117)
      • 型別
    • Day3(0118)
      • 變數
    • Day4(0119)
      • 常數
      • 運算子
    • Day5(0120)
      • 運算子個別解說(一)
    • Day6(0121)
      • 運算子個別解說(二)
    • Day7(0122)
      • 運算子的優先順序
      • 輸出
  • W2
    • Day8(0123)
      • 輸入
    • Day9(0124)
      • 常用內建數值函數
    • Day10(0125)
      • 導入數學模組
      • 常用數學函式
      • 亂數函式
    • Day11(0126)
      • 逸脫序列
      • 常用內建字串函式
      • 連接運算子
      • 重複運算子
      • in ,not in運算子
      • 索引運算子[]與片段運算子
    • Day12(0127)
      • 字串處理方法
      • 常用字串轉換方法
      • 搜尋字串方法
      • 常用字串測試方法
    • Day13(0128)
      • 字串格式化方法
      • 刪除指定字元方法
    • Day14(0129)
      • 數值與字串格式化
  • W3
    • Day15(0130)
      • 認識流程控制
      • if選擇結構
    • Day16(0131)
      • for迴圈(for loop)
      • 使用range物件作為迴圈迭代的物件
    • Day17(0201)
      • 使用list作為迴圈迭代的物件
      • 使用字串作為迴圈迭代的物件
      • 巢狀for迴圈
    • Day18(0202)
      • while迴圈
    • Day19(0203)
      • 認識函式
      • 定義函式
    • Day20(0204)
      • 呼叫函式
      • 函式參數
    • Day21(0205)
      • 函式的傳回值
      • 全域變數與區域變數
  • W4
    • Day22(0206)
      • 遞迴函式
      • lambda 運算式
      • 日期時間函式(一)
    • Day23(0207)
      • 日期時間函式(二)
      • calendar模組
    • Day24(0208)
      • list串列(一)
    • Day25(0209)
      • list串列(二)
    • Day26(0210)
      • list串列(三)
    • Day27(0211)
      • tuple序對
    • Day28(0212)
      • set集合(一)
  • W5
    • Day29(0213)
      • set集合(二)
    • Day30(0214)
      • dict字典(一)
    • Day31(0215)
      • dict字典(二)
    • Day32(0216)
      • turtle模組繪圖(一)
    • Day33(0217)
      • turtle模組繪圖(二)
    • Day34(0218)
      • 檔案存取(一)
    • Day35(0219)
      • 檔案存取(二)
  • W6
    • Day36(0220)
      • 檔案存取(三)
    • Day37(0221)
      • 例外處理(一)
    • Day38(0222)
      • 例外處理(二)
    • Day39(0223)
      • 物件導向(OO)
    • Day40(0224)
      • 物件導向程式設計(OPP)
    • Day41(0225)
      • 使用類別與物件
    • Day42(0226)
      • 定義類別
  • 資料參考
Day40(0224) << Previous Next >> Day41(0225)

物件導向程式設計(OPP)

封裝 (Encapsulation)

即是將物件內部的資料隱藏起來,只能透過物件本身所提供的介面(interface)取得物件內部屬性或者方法,物件內部的細節資料或者邏輯則隱藏起來,其他物件即無法瞭解此物件的內部細節,若不經過允許之窗口(即此物件提供之方法)便無從更動此物件內之資料。

繼承 (Inheritance)

在某種情況下,一個類別會有「子類別」。子類別比父類別更加具體化,子類別繼承了父類別的屬性及方法。例:Cat(子類別)繼承了Animal(父類別)原有的屬性以及方法,也新增了自己的特質以及動作,例如貓會玩毛線球。

多型 (Polymorphism)

簡單來說就是多個相同名稱的方法(Method),藉由傳入不同的參數,自動執行不同的敘述。多型(Polymorphism)則包含多載(Overloading)和複寫(Overriding)。

多載(Overloading)

是指在相同類別中,定義名稱相同,但參數個數不同或參數型態不同的函式,此時可利用參數個數或者參數型態,呼叫到對應的方法。例如:一個計算面積的方法,如果傳入一個參數,就當正方形來算面積;傳入兩個參數,就當成長方形來算面積。

複寫(Overriding)

為利用子類別覆寫掉父類別中的函式。


Day40(0224) << Previous Next >> Day41(0225)

Copyright © All rights reserved | This template is made with by Colorlib