1. 程式人生 > >面象過程與面象對象

面象過程與面象對象

passwd 核心 不能 strip pro 所有 utf nco 內部

面象過程

面向過程又被稱為top-down languages,核心在於過程二字,過程指的是解決問題的步驟,設計一條流水線機械式的思維方式

面象對象的優缺點

  • 優點:可以使復雜的問題流程化,進而簡單化
  • 缺點:可擴展性差
  • 應用場景:監控系統
    例子:
import json
import re
def interactive():
    user = input(‘>>:‘).strip()
    passwd = input(‘>>:‘).strip()
    email = input(‘>>‘).strip()
    return {
        ‘name‘:user,
        ‘passwd‘:passwd,
        ‘email‘:email
    }

def check(user_info):
    is_valid = True
    if len(user_info[‘name‘]) == 0:
        print(‘賬戶不能為空‘)
        is_valid = False
    if len(user_info[‘passwd‘]) < 6:
        print(‘密碼不能少於6位‘)
        is_valid = False
    if  not re.search(‘@.*?.com$‘,user_info[‘email‘]):
        print(‘郵箱不合法‘)
        is_valid = False
    return {
        ‘is_valid‘:is_valid,
        ‘user_info‘:user_info
    }

def register(check_info):
    if check_info[‘is_valid‘]:
        with open(‘account.json‘,‘w‘,encoding=‘utf-8‘) as f:
            json.dump(check_info[‘user_info‘],f)

def main():
    user_info = interactive()
    check_info = check(user_info)
    register(check_info)

if __name__ == ‘__main__‘:
    main()

面象對象

OOP(Object Oriented Programing)編程,核心在於對象二字,對象是特征與技能的結合體

面象對象的優缺點

  • 優點:可擴展性高
  • 缺點:編程復雜程度高
  • 應用場景:用戶需求經常變化,互聯網應用,遊戲 ,企業內部應用

面象對象的名詞解釋

  • :一個類即是對一類擁有相同屬性的對象的抽象、藍圖、原型、模板。在類中定義了這些對象的都具備的屬性(variables(data))、共同的方法
  • 屬性:人類包含很多特征,把這些特征用程序來描述的話,叫做屬性,比如年齡、身高、性別、姓名等都叫做屬性,一個類中,可以有多個屬性

  • 方法:人類不止有身高、年齡、性別這些屬性,還能做好多事情,比如說話、走路、吃飯等,相比較於屬性是名詞,說話、走路是動詞,這些動詞用程序來描述就叫做方法。

  • 實例(對象):一個對象即是一個類的實例化後實例,一個類必須經過實例化後方可在程序中調用,一個類可以實例化多個對象,每個對象亦可以有不同的屬性,就像人類是指所有人,每個人是指具體的對象,人與人之前有共性,亦有不同

  • 實例化:把一個類轉變為一個對象的過程就叫實例化

面象過程與面象對象