python面向对象之继承

继承

  什么是继承

继承就是一种关系

描述两个对象之间,什么是什么的关系

 

如同麦兜,佩奇,猪八戒

他们都是猪,他们都是继承了猪的特征

 

 

为什么要使用继承:

继承的衣服可以直接使用被继承的一方已经有的东西

在程序中,继承描述的是类和类之间的关系

例如 a继承了b ,a就可以直接使用b有的方法和属性

 

a称之为子类,b称为父类,又称为基类

 

 

python中的语法

 

class 类名称:

# 原来的

pass

--------------

class 类名称(父类):

# 有继承的,

# 一个子类可以同时继承多个父类()

 

 

 

抽象:

不具体,不清晰,很模糊,不容易看懂

 

将多个子类中相同的部分进行抽取,形成一个新的类,这个过程也称之为抽象的过程

 

正确的使用继承:

1:先抽象,后继承

2:继承一个先有的类,然后扩展或者修改原始的功能

 

 

 

覆盖:

也称为重写 overwrite

当子类出现了与父类完全一致的属性或方法,就会覆盖掉父类的属性和方法

 

子类访问父类中的内容

方法1:

super(当前类名称,self).你要调用的父类的属性或方法

 

方式2:

super().你要调用的父类属性或方法

 

方式3:

类名称.你要调用的父类属性或方法(self)

 

 

 

强调:当你继承一个现有类,并且你覆盖了父类的init方法,必须在用什么方法的第1行调用父类的初始化方法,并传入父类所需的参数,

 

 

组合

( 总结 # 组合,把一个对象作为另外一个对象的属性)

也是一种关系

# 描述两个对象之间 是什么有什么的关系

 

(想用你的对象,但不是继承)

(就像你用手机,你是把手机的功能拿过来,而不是把继承手机,把自己变成手机)

(写的代码尽量不耦合,(相同性))

例如,学生有手机,游戏中的角色有某些装备

 

 

目的:

重用现有代码,

什么时候使用继承:分析两个类的关系,到底是不是,什么是什么的关系

什么时候使用组合,如果两个类之间没有太大的关系,完全不属于同类

组合相比继承,耦合度更低

 

posted @ 2019-07-25 21:36  Pscly  阅读(105)  评论(0编辑  收藏  举报