zoukankan      html  css  js  c++  java
  • Python练习-一个怪癖老师的不可描述

     1 # 编辑者:闫龙
     2 # 定义老师类,把老师的属性:薪资,隐藏起来,然后针对该属性开放访问接口
     3 #     egon老师有多种癖好,把这种癖好隐藏起来,然后对外提供访问接口
     4 #     而且以后还会egon老师培养很多其他的癖好,对外开放修改接口可以新增癖好
     5 # 并且需要保证新增的癖好都是字符串类型,否则无法增加成功
     6 menu = ["查看工资","查看怪癖","添加怪癖"] #定义一个菜单
     7 class Teacher:#老师类
     8     def __init__(self,name,pay):#初始化时传入名字和工资
     9         self.__pay = pay#工资作为隐藏属性
    10         self.name = name
    11     def GetPay(self):#查看工资方法
    12         print(self.name,"的工资是",self.__pay,"元,请保密,千万不要贴在办公室的墙上")
    13 class Wack:#定义怪人类
    14     def __init__(self,hobby):#初始化时传入hobby列表
    15         self.__hobby = hobby#怪癖作为隐藏属性
    16     def addHobby(self,choice):#添加新怪癖方法
    17         self.__hobby.append(choice)#添加新的怪癖到隐藏属性hobby中
    18         print("怪癖添加完成")
    19     def LookHobby(self):#查看怪癖方法
    20         print(self.name,"的的怪癖如下:")
    21         for i in self.__hobby:
    22             print(i)
    23 class WackTeacher(Teacher,Wack):#定义怪老师类,继承老师和怪人类
    24     def __init__(self,name,pay,hobby):#初始化时将怪人,老师初始化时的参数逐一接收
    25         Teacher.__init__(self,name,pay)
    26         Wack.__init__(self,hobby)
    27         print("%s已经出现在视野里"%name)
    28     def GetSetWackTeacher(self):#对怪老师的操作方法
    29         for i in range(len(menu)):
    30             print("%s.%s"%(i+1,menu[i]))
    31         choice = input("请选择:")
    32         if(choice == "1"):
    33             Teacher.GetPay(self)#查看怪老师的工资
    34             self.GetSetWackTeacher()#重新调用怪老师的操作方法
    35         elif(choice == "2"):
    36             Wack.LookHobby(self)#查看怪老师的怪癖
    37             self.GetSetWackTeacher()
    38         elif(choice == "3"):#增加一个新的怪癖
    39             while True:
    40                 choice = input("新的怪癖:")
    41                 if(type(choice)==str):
    42                     Wack.addHobby(self, choice)
    43                     self.GetSetWackTeacher()
    44                 else:
    45                     continue
    46 #实例化怪老师类,Egon
    47 Egon = WackTeacher("egon",2.5,["矮根儿","小林林","海峰","SomeBody"])
    48 #Egon中的怪老师操作方法
    49 Egon.GetSetWackTeacher()
  • 相关阅读:
    vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client
    SQL Server2014 SP2新增的数据库克隆功能
    看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
    Windows Server 2012 NIC Teaming 网卡绑定介绍及注意事项
    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
    基于本地存储的kvm虚拟机在线迁移
    SQL Server 数据加密功能解析
    android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)
    Datazen介绍
    jquery智能弹出层,自己主动推断位置
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6740407.html
Copyright © 2011-2022 走看看