zoukankan      html  css  js  c++  java
  • 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去实现

  • 相关阅读:
    (转)批量导出存储过程
    (转)ylbtech-cnblogs(博客园)-数据库设计-6.0-Msg(短消息)
    (转)怎样玩转千万级别的数据
    (转)处理上百万条的数据库如何提高处理查询速度
    (转)SQLSERVER表分区的介绍(二)
    (转)SQLSERVER表分区的介绍(一)
    (转)在SQL中取出字符串中数字部分或在SQL中取出字符部分
    (转)SQL按照日、周、月、年统计数据
    构建操作mysql的类
    解决Celery 在Windows中搭建和使用的版本
  • 原文地址:https://www.cnblogs.com/2018-1025/p/11992586.html
Copyright © 2011-2022 走看看