面向对象【林老师版】:面向过程vs面向对象(一)

一、面向过程

1、引子

面向过程:核心是过程二字,过程指的是解决问题的步骤,设计一条流水线,机械式的思维方式
优点:复杂的问题流程化,进而简单化
缺点:可扩展性差

2、验证代码

import json
import re
def interactive():
    name=input('>>: ').strip()
    pwd=input('>>: ').strip()
    email=input('>> ').strip()
    return {
        'name':name,
        'pwd':pwd,
        'email':email
    }

def check(user_info):
    is_valid=True

    if len(user_info['name']) == 0:
        print('用户名不能为空')
        is_valid=False

    if len(user_info['pwd']) < 6:
        print('密码不能少于6位')
        is_valid=False

    if not re.search(r'@.*?\.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('db.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()

二、面向过程编程

1、什么是面向对象?

面向对象:核心就是对象二字,对象就是特征与技能的结合体
优点:可扩展性强
缺点:编程复杂度高
应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用

2、什么是类?

类就是一系列对象相似的特征与技能的结合体

强调:站在不同的角度,得到的分类是不一样的

1、在现实世界中:

一定先有对象,后有类

2、在程序中:

一定得先定义类,后调用类来产生对象,站在路飞学院的角度,大家都是学生

3、现实中的对象

    对象1:王二丫
        特征:
            学校='luffycity'
            名字='王二丫'
            性别='女'
            年龄=18
        技能:
            学习
            吃饭
            睡觉

    对象2:李三炮
        特征:
            学校='luffycity'
            名字='李三炮'
            性别='男'
            年龄=38
        技能:
            学习
            吃饭
            睡觉

    对象3:张铁蛋
        特征:
            学校='luffycity'
            名字='张铁蛋'
            性别='男'
            年龄=48
        技能:
            学习
            吃饭
            睡觉

4、现实中路飞学院的学生类

        相似的特征
            学校='luffycity'

        相似的技能
            学习
            吃饭
            睡觉

三、面向对象代码实现

#先定义类
class LuffyStudent:
    school='luffycity'

    def learn(self):
        print('is learning')

    def eat(self):
        print('is sleeping')


#后产生对象
stu1=LuffyStudent()
stu2=LuffyStudent()
stu3=LuffyStudent()

print(stu1)
print(stu2)
print(stu3)

  

 

posted @ 2018-11-06 10:02  活的潇洒80  阅读(327)  评论(1编辑  收藏  举报