• python(面向对象设计)


    三大编程范式

    1.面向过程

    2.面向对象

    3.函数式编程

    例.对象建立,但只是单一的

    # -*- coding: utf-8 -*-
    people1={
        'name':'bob',
        'age':'10',
        'Gender':'man',
        'sport':'basketball'
    }
    
    people2={
        'name':'lily',
        'age':'12',
        'Gender':'men',
        'sport':'sing'
    }
    
    def do(people):
        print('%s like %s' % (people['name'],people['sport']))
    
    def gender(people):
        print('%s is a %s' % (people['name'],people['Gender']))
    
    do(people1)
    gender(people2)
    

     进一步完善

    # -*- coding: utf-8 -*-
    def peoples(name,age,gender,sport):
        def do(people):
            print('%s like %s' % (people['name'],people['sport']))
        def sex(people):
            print('%s is a %s' % (people['name'],people['gender']))
        def init(name,age,gender,sport):
            people={
                    'name':name,
                    'age':age,
                    'gender':gender,
                    'sport':sport,
                #行为
                    'do':do,
                    'sex':sex,
            }
            return people
        res=init(name,age,gender,sport)
    
        return res
    
    people1=peoples('bob','11','man','soccer')
    people1['do'](people1)
    people1['sex'](people1)
    

    类:把一类事物的相同的特征和动作整合到一起,是一个抽象的概念。

    对象:是基于类创建的一个具体的事物。是特征和动作整合到一起。

    例子.创建学校类

    特征:name,adder,type

    动作:考试,招生,管理

    简单版

    # -*- coding: utf-8 -*-
    
    def school(name,addr,type):
        def exam():
            print('------考试------')
    
        def enroll():
            print('------招生------')
    
        def administration():
            print('------管理------')
        sch={
                    'name': name,
                    'addr':addr,
                    'type':type,
                    'exam': exam,
                    'enroll': enroll,
                    'administration': administration
                }
        return sch
       
    
    school1=school('实验','光明路','公立')
    
    school1['exam']()
    school1['enroll']()
    school1['administration']()
    

     进一步加工

    # -*- coding: utf-8 -*-
    
    def school(name,addr,type):
        def exam():
            print('------考试------')
    
        def enroll():
            print('------招生------')
    
        def administration():
            print('------管理------')
        def intial(name,addr,type):
                sch={
                    'name': name,
                    'addr':addr,
                    'type':type,
                    'exam': exam,
                    'enroll': enroll,
                    'administration': administration
                }
                return sch
        return intial(name,addr,type)
    
    
    school1=school('实验','光明路','公立')
    
    print(school1)
    school1['exam']()
    school1['enroll']()
    school1['administration']()
    

     面向对象设计:用面向对象独有的语法class去实现

  • 相关阅读:
    01Python基础_02变量
    01Python基础_04输入输出方式
    01Python基础_03运算符
    Spring Cloud 入门教程 搭建配置中心服务
    Spring Cloud入门教程Hystrix断路器实现容错和降级
    Spring Boot 2.0.1 入门教程
    Spring Cloud入门教程Ribbon实现客户端负载均衡
    Spring Cloud 入门教程 Eureka服务注册与发现
    代理模式
    最短路径算法——Dijkstra and Floyd算法
  • 原文地址:https://www.cnblogs.com/2018-1025/p/11992586.html
Copyright © 2020-2023  润新知