面象过程与面象对象

面象过程

面向过程又被称为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))、共同的方法
  • 属性:人类包含很多特征,把这些特征用程序来描述的话,叫做属性,比如年龄、身高、性别、姓名等都叫做属性,一个类中,可以有多个属性

  • 方法:人类不止有身高、年龄、性别这些属性,还能做好多事情,比如说话、走路、吃饭等,相比较于属性是名词,说话、走路是动词,这些动词用程序来描述就叫做方法。

  • 实例(对象):一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同的属性,就像人类是指所有人,每个人是指具体的对象,人与人之前有共性,亦有不同

  • 实例化:把一个类转变为一个对象的过程就叫实例化

猜你喜欢

转载自www.cnblogs.com/yjiu1990/p/9122776.html