# 封装:把很多数据封装到一个对象中.把固定功能的代码封装到一个代码块,函数,对象,打包成模块.这都属于封装的思想
 1 class Pig:
 2     def __init__(self,name,age,jn):
 3         # 封装 对属性进行封装
 4         self.name = name
 5         self.age = age
 6         self.jn = jn
 7 
 8     # 对方法进行封装 丢到类Pig里面
 9     def da_atm(self):
10         print("%s,今年%s岁了,使用%s技能疯狂输出奥特曼" % (self.name,self.age,self.jn))
11     def da_bfx(self):
12         print("%s,今年%s岁了,使用%s技能疯狂输出蝙蝠侠" % (self.name,self.age,self.jn))
13     def da_zzx(self):
14         print("%s,今年%s岁了,使用%s技能疯狂输出蜘蛛侠" % (self.name,self.age,self.jn))
15 
16 peiqi = Pig("小猪佩奇",9,"嘴巴嘟嘟")
17 peiqi.da_atm()
18 peiqi.da_bfx()
19 peiqi.da_zzx()
20 
21 # da_zzx() 直接访问不到
22 # 把属性 方法封装到Pig里面 新建对象peiqi拿出来使用
# 封装 应用在数据库里
 1 class DBUtil:
 2     def __init__(self, ip, username, password):
 3         self.ip = ip
 4         self.username = username
 5         self.password = password
 6 
 7    # 对功能的封装
 8     def test_connect(self):
 9         pass
10 
11     def connect(self):
12         pass
13 
14     def add(self):
15         pass
16 
17     def upd(self):
18         pass
19 
20     def remove(self):
21         pass
22 
23     def sel(self):
24         pass
25 
26 db = DBUtil("192.168.1.1","root","123")  # 方便快速调用
# 相似的 文件读取 工具类 封装
# # excel doc txt 视频 图片



# 继承: 子类自动拥有父类中除了私有内容外的其他所有内容
# 现阶段在我们写的内容没有私有的

'''
继承:儿子可以随便用爹的东西.但一定要认清楚,必须先有爹,后有儿子.顺序不 能乱,
在python中实现继承非常简单.在声明类的时候,类名后面添加一个⼩括号,就可以完成继承关系.
'''
 1 # 例子
 2 class Niu:
 3     def da(self):
 4         print("牛魔王打架很厉害")
 5 
 6 class HongHaiEr(Niu):
 7     # pass
 8     def da(self):
 9         print("喷火")
10 hhl = HongHaiEr()
11 # hhl.da()  # 没有这个功能找父类要 打印出牛魔王打假很厉害
12 hhl.da() # 喷火 自己有先用自己的
# 当程序中出现了 x是一种y. x可以继承y
1 class Animal:
2     def chi(self):
3         print("喜欢吃东西")
4 
5 # 当程序中出现了 x是一种y. x可以继承y
6 # 如 猫是一种动物
7 class Cat(Animal):
8     pass

 

# 派生 子类在父类的基础上扩展了一些功能
 1 class Foo:
 2     def a(self):
 3         pass
 4 
 5     def b(self):
 6         pass
 7 
 8 class Bar(Foo): #  子类在父类的基础上扩展了一些功能. 派生
 9     def c(self): # 拓展
10         pass
11 
12 # b = Bar()
13 # b.a()
14 # b.b()
15 # b.c()

 

# 多继承
# 靠谁近先找谁,自己有先用自己的
 1 class Foo1:
 2     def money(self):
 3         print("有钱")
 4 
 5 class Foo2:
 6     def play(self):
 7         print("玩儿")
 8 
 9     def money(self):
10         print("没钱")
11 
12 class Bar(Foo2, Foo1): # MRO c3算法
13     pass
14 
15 b = Bar() # 谁靠近 找谁
16 b.play()
17 b.money()

 

 

 

# 多态: 同一个对象, 多种形态.
1 # 如 创建一个变量a = 10,此时a是整数类型.但我们可以通过让a = "duotai",这时a又变成了字符串类型.
2 a = 10
3 a = "duotai"
4 print(a) # duotai
5 # 这就是多态性 同一个变量可以是多种形态
# python自动多态效果
 1 class Aniaml:
 2     def dong(self):
 3         print("动物可以动")
 4 
 5 class Cat(Aniaml):
 6     def chi(self):
 7         print("猫喜欢吃鱼")
 8 
 9 a = Cat()
10 a.chi() # 站在猫的角度. 可以吃
11 a.dong() # 站在动物的角度可以动

 

# 多态的好处: 程序具有超高的可扩展性.面向对象思想的核⼼与灵魂. python自带多态
收藏 打印