zoukankan      html  css  js  c++  java
  • 面向对象引子

    描述两个角色:
     1 def hum(name,age,job):
     2     """这是代表一个人"""
     3     data = {
     4         'name':name,
     5         'age':age,
     6         'job':job
     7     }
     8 
     9     return data
    10 
    11 def dog(name,type):
    12     """这是代表一条旺财"""
    13     data ={
    14         'name':name,
    15         'type':type
    16     }
    17 
    18     return data
    生成两个实际对象:
    1 a = hum('gdr','22','it')
    2 b = dog('Fish','taidi')
    两个角色对象生成了,但是每个角色的功能不同,每个角色写一个功能函数,想执行哪个功能,直接调用:
     1 def walk(h):
     2     """人的特征"""
     3     print("Hum %s is walking..." %(h['name']))
     4 
     5 def run(d):
     6     """旺财的特征"""
     7     print("Dog %s is run..." %(d['name']))
     8 
     9 #调用
    10 walk(a)
    11 run(a)
    以上会出现对象功能混用的情况,改变函数,使其不一样的对象对应不同的功能:
     1 def hum(name,age,job):
     2     """这是代表一个人"""
     3     def walk(h):
     4         print("Hum %s is walking..." % (h['name']))
     5     data = {
     6         'name':name,
     7         'age':age,
     8         'job':job,
     9         'walk':walk
    10     }
    11 
    12     return data
    13 
    14 def dog(name,type):
    15     """这是代表一条旺财"""
    16     def run(d):
    17         print("Dog %s is run..." % (d['name']))
    18     data ={
    19         'name':name,
    20         'type':type,
    21         'run':run
    22     }
    23     return data
    24 
    25 a = hum('gdr','22','it')
    26 b = dog('Fish','taidi')
    27 
    28 print(a['walk'](a))
    
    
    
     


  • 相关阅读:
    宏任务、微任务与Event Loop
    puppteer的使用
    docker的使用 -- windows
    vscode集成eslint
    删除git中无用的大文件
    git 使用
    利用chrome devtool 观察页面占用内存
    JS对象-不可扩展对象、密封对象、冻结对象
    数学
    素数 + 背包
  • 原文地址:https://www.cnblogs.com/jesse-gong/p/7800444.html
Copyright © 2011-2022 走看看