Part11.2--面向对象之继承、多态

计算器

小学生计算器

class 小学生计算器():
    '''这是一个小学生计算器'''
    
    # 类属性
    产地='中国'
    
    # 方法
    def(a,b):
        return a+b
    
    def(a,b):
        return a-b
    
    def(a,b):
        return a*b
    
    def(a,b):
        return a/b

中学生计算器

import math

class 中学生计算器(小学生计算器):
    '''这是一个中学生计算器'''
    
    # 方法
    def e的x次方(self,x):
        return math.exp(x)
    
    def 求sigmoid函数(self,x):
        return 1/(1+math.exp(-x))
    
    def 求tanh函数(self,x):
        return math.tanh(x)

学校

所有人

class People():
    
    '''这是一个成员的类'''
    
    # 类属性
    country = '中国'
    
    # 实例属性   excp1 '张三', 25, '男'
    def __init__(self, name, age, sex):
        self.name = name
        self.age  = age
        self.sex  = sex
    
    # 技能(方法)
    def learn(self):
        print('技能:学习')

老师(继承people,并添加其他属性)

  • super()是一个特殊对象,只要是对象,通过对象调的方法就像之前讲的叫绑定方法,会有一个自动传参的过程。
    当通过supper()调用父类中init()函数的时候,第一个参数self不必传入实参
class Teacher(People):
    
    '''这是一个老师的类'''
    
    # 实例属性   exct2 '王老师', 30, '男', 3500, 'T4'
    def __init__(self, name, age, sex, salary, level):
#         self.name = name
#         self.age  = age
#         self.sex  = sex
#       以上三行代码就可以用下面这句代码替换
#       super()对象直接调用父类的__init__()方法
        super().__init__(name, age, sex)  # 通过对象调的叫绑定方法
                                                # 绑定方法自动传参
        self.salary = salary
        self.level  = level
        
    # 技能(方法)
    
    def teaching(self):
        print('技能:授课')

学生

class Student(People):
    
    def __init__(self,name,age,sex,education,major):
        super().__init__(name,age,sex)
        
        self.education=education
        self.major=major
        
        
    def listen(self):
        print('技能:倾听')

恋爱关系

男朋友

class 男朋友:
    
    # 类属性
    sex = '男'
    
    # 实例属性
    def __init__(self,name,age,m,h):
        self.name   = name
        self.age    = age
        self.金钱值 = m
        self.开心值 = h
        
    def smoke(self):
        self.开心值 += 3
        self.金钱值 -= 1
        
    def drink(self):
        self.开心值 +=1
        
    def pr_info(self):
        print('姓名:', self.name, '年龄:',self.age,'金钱值:',self.金钱值,'开心值:',self.开心值)

女朋友

class 女朋友:
    
    sex = '女'
    
    def __init__(self,name,age,m,h):
        self.name   = name
        self.age    = age
        self.金钱值 = m
        self.开心值 = h
        
    def 购物(self):
        self.开心值 += 3
        self.金钱值 -= 1
        
    def 逛街(self):
        self.开心值 +=2
        
    def pr_info(self):
        print('姓名:', self.name, '年龄:',self.age,'金钱值:',self.金钱值,'开心值:',self.开心值)

男朋友动作影响女朋友

class 男朋友:
    
    # 类属性
    sex = '男'
    
    # 实例属性
    def __init__(self,name,age,m,h):
        self.name   = name
        self.age    = age
        self.金钱值 = m
        self.开心值 = h
        
    def smoke(self,x):
        self.开心值 += 3
        self.金钱值 -= 1
        x.开心值 -=5
        
    def drink(self):
        self.开心值 +=1
        
    def pr_info(self):
        print('姓名:', self.name, '年龄:',self.age,'金钱值:',self.金钱值,'开心值:',self.开心值)

女朋友的动作影响男朋友

class 女朋友:
    
    sex = '女'
    
    def __init__(self,name,age,m,h):
        self.name   = name
        self.age    = age
        self.金钱值 = m
        self.开心值 = h
        
    def 购物(self):
        self.开心值 += 3
        self.金钱值 -= 1
        self.男朋友.金钱值 -=10
        
    def 逛街(self):
        self.开心值 +=2
        
    def pr_info(self):
        print('姓名:', self.name, '年龄:',self.age,'金钱值:',self.金钱值,'开心值:',self.开心值)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值