桥接模式 桥接模式用一种很巧妙的方式处理继承存在的问题,用抽象关联取代了传统的多层继承,将类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效地控制了系统中类的个数。 模式动机 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要四个形状类,如果绘制的图形需要具有不同 ...
分类:
其他好文 时间:
2020-03-13 18:51:31
阅读次数:
48
多态的三个条件 1.有继承关系 2.子类有复写父类的方法 3.父类的引用指向子类的对象(这样就会出现 编译时只能执行父类的方法 但当执行到子类复写过的方法时 展示出的是子类的行为) instanceof运算符 a instanceof B : a是否是B类的实例(这个判断是指的是执行的时候的类型判断 ...
分类:
其他好文 时间:
2020-03-10 18:42:01
阅读次数:
47
向上转型 子类向父类转,就是把子类的属性给儿子,看看父亲能不能当儿子 直接(父类=子类)就行了。。。 向下转型 父类向子类转(强转)有时会出问题,就是把父类的属性给儿子,看看儿子当爹行不到底能否转换成功? 一个很简单的判别办法把右边的当做左边来用,看说得通不没有继承关系的两个类,互相转换,一定会失败 ...
分类:
其他好文 时间:
2020-03-09 22:37:01
阅读次数:
61
(1)继承 介绍: 继承表示是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。 表示方法: 继承使用空心三角形+实线表示。 示例: 鸟类继承抽象类动物 继承关系 (2)实现 介绍: 实现表示一个class类实现interface接口(可以是多个) ...
分类:
其他好文 时间:
2020-03-07 18:54:04
阅读次数:
249
一.局部化修改: 1.预期期望变更:连接数据库代码,Dao层的代码,前端页面设计代码等进行分开编写,最大程度使变更影响达到最小 2.维持语义一致性 降低模块依赖性,不用或少用继承关系,多使用专用的借口来限制对相关服务的修改 3.泛华模块 数据库连接语句 4.限制选择参数 将软件系统限制在具体操作系统 ...
分类:
其他好文 时间:
2020-03-05 01:24:53
阅读次数:
84
类的创建过程以下说的类指的类本身,例如以下代码:classFoo:def__init__(self):pass则指的Foo的创建过程,而不是Foo的实例。1.解析MRO记录(ResolvingMROentries)根据MRO规则解析继承关系2.确定元类(Determiningtheappropriatemetaclass)查找元类的过程遵循以下规则:如果没有基类且没有指定metaclass,则使用
分类:
编程语言 时间:
2020-03-02 22:17:36
阅读次数:
70
C++类有继承时,析构函数必须为虚函数。如果不是虚函数,则使用时可能存在内在泄漏的问题。 假设我们有这样一种继承关系: 如果我们以这种方式创建对象:SubClass* pObj = new SubClass();delete pObj;不管析构函数是否是虚函数(即是否加virtual关键词),del ...
分类:
其他好文 时间:
2020-03-02 14:35:01
阅读次数:
73
方法重名 在父子类的继承关系中,创建子类对象,访问成员方法的规则: 创建的对象是谁,就优先用谁,如果没有就向上找。 ...
分类:
其他好文 时间:
2020-02-29 00:49:28
阅读次数:
64
继承关系中的父子类构造方法的特点: 1.子类构造方法当中有一个默认隐含的 “super()” 调用,所以一定先调用的父类构造方法,后执行的子类构造方法 2.可通过 super 关键字调用父类重载构造(默认的是无参构造) super(100) 3.super 的父类构造调用,必须是子类构造方法的第一个 ...
分类:
其他好文 时间:
2020-02-26 17:19:03
阅读次数:
68
重写(Override):在继承关系中,方法名称一样,参数列表也一样 与重载(Overload)的区别: 重写:方法名称一样,参数列表也一样 //覆盖,覆写 重载:方法名称一样,参数列表不一样 重写特点:创建的是子类对象,则优先使用子类方法 重写注意事项: 1.必须保证父子类方法名称一样,参数列表也 ...
分类:
其他好文 时间:
2020-02-26 16:58:00
阅读次数:
106