1.什么是类的封装?为什么要封装?
封装指的是将数据和对数据的操作放在一个小盒子中。封装的作用在于将代码保护起来,防止无意中对代码的破坏,以及方便我们对程序进行模块化管理。
2.什么叫类的继承?为什么要有继承?
继承,顾名思义,就是子类对父类的继承,子类继承父类的方法属性。可以将类似事物的类似属性以及类似方法继承下去,而不要重复写类似的代码,从而会减少代码的冗余。
3.什么叫类的多态?为什么要有多态?多态性?
#多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度)
class
Animal:
def
run(
self
):
raise
AttributeError(
'子类必须实现这个方法'
)
class
People(Animal):
def
run(
self
):
print
(
'人正在走'
)
class
Pig(Animal):
def
run(
self
):
print
(
'pig is walking'
)
class
Dog(Animal):
def
run(
self
):
print
(
'dog is running'
)
peo1
=
People()
pig1
=
Pig()
d1
=
Dog()
peo1.run()
pig1.run()
d1.run()
#多态性:一种调用方式,不同的执行效果(多态性)
def
func(obj):
obj.run()
func(peo1)
func(pig1)
func(d1)
# peo1.run()
# pig1.run()
# 多态性依赖于:继承
##多态性:定义统一的接口,
def
func(obj):
#obj这个参数没有类型限制,可以传入不同类型的值
obj.run()
#调用的逻辑都一样,执行的结果却不一样
func(peo1)
func(pig1)
func(d1)
通俗的讲:
假设有一个毛坯房,户型是一个类
用钢精水泥组成这样一个户型,而你不需要去关心用了几根钢筋多少水泥,这是封装。
你住跟这个毛坯房同样户型的房子,不作修改或者多做一堵墙或者加个窗,这是继承。
你们上下层相同的卧室,都可以提供睡觉的功能,但是不同的人睡完之后感觉不同,这是多态。