一 .初识继承 1.什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类. 特点: 子类会“”遗传”父类的属性,从而解决代码冗余问题 2.python中类的继承分为:单继承和多继承,如何查看继承 class ParentClass1: #定义父类 pass class ParentClass2: #定义父类 pass class SubClass1(ParentClass1): #单继承,基类是Paren…
一. 什么是面向对象的程序设计及为什么要有它 1.面向过程 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单) 缺点是:一套流水线或者流程就是用来解决一个问题,牵一发而动全身. 应用场景:一旦完成基本很少改变的场景. 2.面向对象  面向对象的程序设计:核心是对象二字,对象是特征与…
1 继承 1.怎么继承,父类和子类 class 类名(父类):pass 除了__init__下对象属性不能自动继承外,其他的类属性和动态方法,子类对象都可以访问到. 2.子类对象查找属性的顺序,对象现在自己的命名空间找,找不到会到通过执行类指针到自己类中找,再找不到就会到父类中去找.   3.子类怎么复用父类的动态方法,两种方法:以__init__为例. 1).父类名.__init__(self,.....) 2).super().__init(......) 或super(子类名,self).…
一.类的组合 1.什么是组合 组合:描述的是类与类之间的关系,是一种什么有什么关系 一个类产生的对象,该对象拥有一个属性,这个属性的值是来自于另外一个类的对象 2.什么是继承(回顾一下) 继承:描述的是类与类之间,什么是什么的关系 3.组合的作用 解决代码冗余 来看一个实例子: class Equip: #武器装备类 def fire(self): print('release Fire skill') class Riven: #英雄Riven的类,一个英雄需要有装备,因而需要组合Equip类…
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的前提是继承. 从现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三即是学生也是人.即出现两种形态.Java作为面向对象的语言,同样可以描述一个事物的多种形态.如Student类继承了Person类,一个Student的对象便既是Student,又是Person. 最终多态体现…
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比如我们按下 F1 键这个动作: 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档: 如果当前在 Word 下弹出的就是 Word 帮助: 在 Windows 下弹出的就是 Windows 帮助和支持. 同一个事件发生在不同的对象上会产生不同的结果. 二:多态的优点: 1. 消除类型之间…
python_day_18 1,面向对象的三大特性是什么?继承,多态,封装2,什么是面向对象的新式类?什么是经典类?凡是继承object类都是新式类.凡是不继承object类都是经典类.3,面向对象为什么要有继承?继承的好处是什么?因为继承可以访问父类的任何方法或变量.好处:a,提高了代码的复用性 b:提高了代码的维护性 c:让类与类之间产生了关系,是多态的前提4,面向对象的广度优先,深度优先分别是什么?(只能是两类情况)广度优先 : 一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走另…
python_day_19 今日主要内容: 1.抽象类,接口类 2.多态 3.封装 1.抽象类,接口类 python 没有接口这个概念接口类,抽象类: 制定一个规范. 举个栗子:你的项目经理提一个需求,让你做一个支付功能.第一版: class Alipay: def __init__(self,money): self.money = money def pay(self): print('使用支付宝支付了%s' %self.money) class Jdpay: def __init__(se…
一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名道姓 :父类名.方法名(self,arg1,..) 多继承 钻石继承 经典类 python2 不继承object 查找名字遵循深度优先遍历算法 新式类 python3中都是新式类 在py2中继承object 查找名字遵循广度优先遍历算法 当一个节点可以在深度广度上都有机会被访问到的时候 优先从广度上…
面向对象编程的三大特性:封装.继承.多态 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对类的外部而言它的内部实现细节是隐藏的,暴露给外界的只是它的实现方法. 继承是为了重用父类的代码,如果两个类满足"IS-A"的关系就可以使用继承.同时继承也为多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么呢? 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行时才能确定,即一个引用变量到底…