Python入门:类继承

 学习素材:B站视频

建议先了解类class的使用方式

什么是类继承

类class有三个使用方式:

  • 封装
  • 继承
  • 多态

其中,继承就是

子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

生活中的继承:

 通俗点举例说明:

猫是动物,狗也是动物。那么“动物”类就是父类,“猫”和“老虎”就是子类。

子类都会继承父类的性质或者方法,比如“四条腿”、“有尾巴”、可以爬树

类继承的适用情况

类继承适用于子类有共同特征的时候,先利用共同特征(性质或方法)建立父类

在定义子类时,再区分子类各自不同的特征

类继承的具体使用

1、先定义父类(包括子类的共同特征和方法)

class Animal:
    def __inif__(self,weight):
        self.weight = weight

2、再定义子类(用super各自定义不同的特征和方法)

"子类(父类)"
class Cat(Animal):
    def __inif__(self,weitht,catch_mice)
        super() __inif__(self.weitht)
        self.catch_mice = catch_mice

注意:

  1. 子类定义时,要写做——class 子类(父类),这样才能继承父类的特征
  2. 子类增加特有的性质时,利用super语句

 类继承练习:人力系统

要求:

  • # - 员工分为两类:全职员工 FullTimeEmployee、兼职员工 PartTimeEmployee。
  • # - 全职和兼职都有"姓名 name"、"工号 id"属性,
  • #   都具备"打印信息 print_info"(打印姓名、工号)方法。
  • # - 全职有"月薪 monthly_salary"属性,
  • #   兼职有"日薪 daily_salary"属性、"每月工作天数 work_days"的属性。
  • # - 全职和兼职都有"计算月薪 calculate_monthly_pay"的方法,但具体计算过程不一样。
#先定义类Employee
class Employee:
    def Employee_inti_(self,name,id):
        self.name = name
        self.id = id

    def print_info(self):
        #这里的引用格式为{self.性质},注意是self,而不是类的名称Employee
        print("{self.name}的工号为{self.id}")

#定义全职为
class FullTimeEmployee(Employee):
    def __init__(self, name, id, monthly_salary):
        super().__init__(name, id)
        self.monthly_salary = monthly_salary

   # "为什么要return??"
    def calculate_monthly_pay(self):
        return self.monthly_salary

#定义兼职:有"日薪 daily_salary"属性、"每月工作天数 work_days"的属性。
class PartTimeEmployee(Employee):
    def __init__(self, name, id, daily_salary, work_days):
        super().__init__(name, id)
        self.daily_salary = daily_salary
        self.work_days = work_days

    def calculate_monthly_pay(self):
        return self.daily_salary * self.work_days

zhangsan = FullTimeEmployee("张三", "1001", 6000)
lisi = PartTimeEmployee("李四", "1002", 230, 15)
zhangsan.print_info()
lisi.print_info()
print(zhangsan.calculate_monthly_pay())
print(lisi.calculate_monthly_pay())

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值