【python基础】类的继承的基本使用方法

如果类中不定义__init__,调用父类superclass的__init__
如果类中继承父类也需要定义自己的__init__,就需要在当前类的__init__中调用父类的__init__
如何调用父类__init__:
super().init(参数)
super(类名,对象名).init(参数)
如果父类中有eat(),子类也定义一个eat方法,默认搜索原则,先找当前类,再去找父类:
重写(覆盖)
当父类方法不满足当前的使用的,去重写

class Person:
    def __init__(self,name ,age):
        self.name = name 
        self.age = age 
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    
        pass
class Employee(Person):
    
        pass

class Doctor(Person):
    
        pass

s = Student('qq',19)
s.run()

输出:

qq正在跑步

没有参数的时候,使用super关键字:

class Person:
    def __init__(self):
        self.name = 'ww' 
        self.age = 18
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    def __init__(self): # 需要调用父类的init
        super().__init__()# super关键字,表示调用父类的关键字
        print('----student init')
    
        pass
class Employee(Person):
    
        pass

class Doctor(Person):
    
        pass

s = Student()
s.run()

输出:

----student init
ww正在跑步
class Person:
    def __init__(self,name,age):
        self.name = name 
        self.age = age
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    def __init__(self,name,age): # 需要调用父类的init
        super().__init__(name,age)# super关键字,表示调用父类的关键字
        print('----student init')
    
        pass
class Employee(Person):
    
        pass

class Doctor(Person):
    
        pass

s = Student('ff',12)
s.run()

输出:

----student init
ff正在跑步

有参数的时候i,使用super关键字:

class Person:
    def __init__(self,name,age):
        self.name = name 
        self.age = age
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    def __init__(self,name,age): # 需要调用父类的init
        super().__init__(name,age)# super关键字,表示调用父类的关键字
        print('----student init')
    
        pass
class Employee(Person):
    
        pass

class Doctor(Person):
    
        pass

s = Student('ff',12)
s.run()

输出:


```python
----student init
ff正在跑步

在这里插入图片描述

class Person:
    def __init__(self,name,age):
        self.name = name 
        self.age = age
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    def __init__(self,name,age): # 需要调用父类的init
        super().__init__(name,age)# super关键字,表示调用父类的关键字
        print('----student init')
    
    def study(self,cource):
        print('{}正在学习{}课程'.format(self.name,cource))

    def eat(self):
        print(self.name + '正在吃饭')

class Employee(Person):
    def __init__(self,name,age,salary,manager):
        super().__init__(name,age)
        self.salary = salary
        self.manager = manager


class Doctor(Person):
    
        pass

s = Student('ff',12)
s.run()
s.study('python基础') 
s.eat()# 父类中也有一个eat,但是会调用类本身的方法。

e = Employee('tom',23,10000,'king')
e.run()

输出:

----student init
ff正在跑步
ff正在学习python基础课程
ff正在吃饭
tom正在跑步
class Person:
    def __init__(self,name,age):
        self.name = name 
        self.age = age
    def eat(self):
        print(self.name + '正在吃法')
    def run(self):
        print(self.name + '正在跑步')

class Student(Person):
    def __init__(self,name,age): # 需要调用父类的init
        super().__init__(name,age)# super关键字,表示调用父类的关键字
        print('----student init')
    
    def study(self,cource):
        print('{}正在学习{}课程'.format(self.name,cource))

    def eat(self,food):
        super().eat()#先调用父类的方法。
        print(self.name + food)

class Employee(Person):
    def __init__(self,name,age,salary,manager):
        super().__init__(name,age)
        self.salary = salary
        self.manager = manager


class Doctor(Person):
    
        pass

s = Student('ff',12)
s.run()
s.study('python基础') 
s.eat('rice')# 父类中也有一个eat,但是会调用类本身的方法。

e = Employee('tom',23,10000,'king')
e.run()


输出:

----student init
ff正在跑步
ff正在学习python基础课程
ff正在吃法
ffrice
tom正在跑步
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值