class 类名:
pass
class 类名():
pass
# class 类名(父类名):
class 类名(object):
pass
定义老师类.
# 1. 定义老师类(三种方式).
# class Teacher:
# class Teacher():
class Teacher(obiect): # object是所有类的父亲, Python中所有的类都直接或间接继承自object类.
# 2. 函数内容.
pass
# 3. 创建该类对象.
t1 = Teacher()
# 4. 打印该类对象.
print(t1)
子类可以继承父类的 属性 和 行为.
class 子类名(父类名):
pass
class A(B):
pass
# A: 子类, 派生类.
# B: 父类, 基类, 超类.
提高代码的复用性.
耦合性增强了, 父类不好的内容, 子类想没有都不行.
高内聚, 低耦合
定义父类(男, 散步), 定义子类, 继承父类.
# 1. 定义父类.
class Father(object):
# 2. 定义属性性别男.
def __init__(self):
self.gender = '男'
# 3. 定义行为walk().
def walk(self):
print('饭后走一走, 活到九十九!')
# 4. 定义子类:
class Son(Father):
pass
# 5. 测试子类的功能.
s = Son()
print(f'性别: {s.gender}') # 子类从父类继承过来 属性.
s.walk() # 子类从父类继承过来 行为.
一个子类继承自一个父类
一个摊煎饼的老师傅, 在煎饼果子界摸爬滚打多年, 研发了一套精湛的摊煎饼技术, 师傅要把这套技术传授给他的唯一的最得意的徒弟.
# 1. 定义师傅类.
class Master:
# 2. 定义属性.
def __init__(self):
self.kongfu = '[古法配方]'
# 3. 定义行为.
def make_cake(self):
print(f'采用{self.kongfu} 煎饼果子.')
# 2. 定义徒弟类, 继承自师傅类.
class Prentice(Master):
pass
# 3. 测试.
p = Prentice()
p.make_cake()
类名.mro()
类名.__mro__
小明是一个爱学习的好孩子, 想学习更多的摊煎饼果子技术, 于是, 再逼百度搜索到黑马程序学校, 报班来培训学习摊煎饼果子技术.
# 1. 定义师傅类.
class Master:
# 2. 定义师傅类属性.
def __init__(self):
self.kongfu = '[古法煎饼果子配方]'
# 3. 定义师傅类行为.
def make_cake(self):
print(f'运用{self.kongfu} 制作煎饼果子')
# 4. 定义黑马学校类.
class School:
# 5. 定义学校类属性.
def __init__(self):
self.kongfu = '[黑马AI煎饼果子配方]'
# 6. 定义学校类行为.
def make_cake(self):
print(f'运用{self.kongfu} 制作煎饼果子')
# 7. 定义徒弟类 -> 有个对象叫 小明.
class Prentice(school, Master): # 从左往右, 就近原则.
pass
# 8. 测试.
xm = Prentice()
print(xm.kongfu)
xm.make_cake()
# 9. 查看mro机制的结果.
print(Prentice.mro()) # Prentice -> School -> Master -> object
print(Prentice.__mro__) # Prentice -> School -> Master -> object
小明掌握了老师傅金和黑马的技术后, 自己潜心研究出一套自己的独门配方的全新摊煎饼果子技术.
# 1. 老师傅类.
class Master:
# 2. 老师傅属性.
def __init__(self):
self.kongfu = '[古法煎饼果子配方]'
# 3. 老师傅行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 4. 黑马学校类.
class School:
# 5. 学校类属性.
def __init__(self):
self.kongfu = '[黑马AI煎饼果子配方]'
# 6. 学校类行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 7. 徒弟类.
class Prentice(School, Master):
# 8. 徒弟类属性.
def __init__(self):
self.kongfu = '[独创煎饼果子配方]'
# 9. 徒弟类行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 10. 创建徒弟类对象.
p = Prentice()
# 11. 访问属性.
print(p.kongfu)
# 12. 调用函数.
p.make_cake()
实现方法:
很多顾客都希望能吃到徒弟做出的煎饼果子有自己独立品牌的有自己独立品牌的煎饼果子, 拥有黑马配方技术的煎饼果子的味道
# 1. 老师傅类.
class Master:
# 2. 老师傅属性.
def __init__(self):
self.kongfu = '[古法煎饼果子配方]'
# 3. 老师傅行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 4. 黑马学校类.
class School:
# 5. 学校属性.
def __init__(self):
self.kongfu = '[黑马AI煎饼果子配方]'
# 6. 学校行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 7. 徒弟类.
class Prentice(School, Master):
# 8. 徒弟属性.
def __init__(self):
self.kongfu = '[独创煎饼果子配方]'
# 9. 徒弟行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 10. 调用父类的功能.
def make_master_cakes(self):
Master.__init__(self)
Master.make_cake(self)
def make_school_cake(self):
School.__init__(self)
School.make_cake(self)
# 11. 创建徒弟类对象.
p = Prentice()
# 12. 访问属性.
print(p.konghfu) # 独创
# 13. 调用函数.
p.make_cake() # 独创
p.make_master_cake() # 古法
p.make_school_cake() # AI
p.make_cake() # AI
# 1. 老师傅类.
class Master:
# 2. 老师傅属性.
def __init__(self):
self.kongfu = '[古法煎饼果子配方]'
# 3. 老师傅行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 4. 黑马学校类.
class School:
# 5. 学校属性.
def __init__(self):
self.kongfu = '[黑马AI煎饼果子配方]'
# 6. 学校行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 7. 徒弟类.
class Prentice(School, Master):
# 8. 徒弟属性.
def __init__(self):
self.kongfu = '[独创煎饼果子配方]'
# 9. 徒弟行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 10. 调用父类功能.
def make_old_cake(self):
super().__init__()
super().make_cake()
# 11. 创建徒弟类对象.
p = Prentice()
# 12. 访问属性.
print(p.kongfu) # 独创
# 13. 调用函数.
p.make_cake() # 独创
p.make_old_cake() # AI
n年后, 小明老了, 想要把"有自己的味道的独立品牌, 有黑马配方技术, 也有古法配方技术的煎饼果子的味道"的所有技术传授给自己的徒弟.
# 1. 老师傅类.
class Master:
# 2. 老师傅属性.
def __init__(self):
self.konghfu = '[古法煎饼果子配方]'
# 3. 老师傅行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 4. 黑马学校类.
class Student:
# 5. 学校类属性.
def __init__(self):
self.konghfu = '[黑马AI煎饼果子配方]'
# 6. 学校类行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 7. 徒弟类.
class Prentice(School, Master):
# 8. 徒弟属性.
def __init__(self):
self.kongfu = '[独创煎饼果子配方]'
# 9. 徒弟行为.
def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')
# 10. 调用父亲类的功能.
def make_master_cake(self):
Master.__init__(self)
Master.make_cake(self)
def make_school_cake(self):
School.__init__(self)
School.make_cake(self)
# 11. 创建徒孙类.
class TuSun(Prentice):
pass
# 12. 创建徒孙类对象.
ts = TuSun()
# 13. 调用功能.
ts.make_cake() # Prentice类的
ts.make_master_cake() # Master类的
ts.make_school_cake() # School类的
class 类名:
- 格式二
class 类名():
- 格式三
- class 类名(父亲名):