工厂模式可细分为三种: 简单工厂模式 工厂方法模式 抽象工厂模式 下面对3中模式进行图解,帮助理解: 1.简单工厂: 2.工厂方法: 3:抽象方法: 整体图示: ...
分类:
其他好文 时间:
2019-01-05 23:22:08
阅读次数:
369
在谈到类实例化的内存过程时先说说几个概念: 对象:内存上来说是分配在堆上面的一块内存区域 类:把一类具体事物相同特征,功能/行为抽象为属性与方法过程。 类是对象的模板,对象是类的具体表现。 构造函数:与类名同名的函数,用来实例化对象并初始化成员变量。 注意:构造器、构造函数不能称为构造方法。 类的结 ...
分类:
编程语言 时间:
2019-01-05 10:12:28
阅读次数:
245
一.接口的概念 接口是功能的集合, 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成 将功能的定义与实现分离,优化了程序设计 二.接口的定义 接口定义时需要使用interface关键字 使用interface代替了原来的class,其他步骤与定义类相同: ...
分类:
编程语言 时间:
2019-01-04 21:35:22
阅读次数:
211
一、设计模式六大原则(核心思想:开闭原则【方法抽象化】) 1、单一职责原则 描述:每个类应该实现单一的职责,否则将其拆分。 2、里氏替换原则 描述:开闭原则的补充,子类具体实现基类的抽象方法,子类不应该重写和重载父类具体方法。 3、依赖倒转原则 描述:开闭原则的基础,面向接口编程,依赖于抽象而不依赖 ...
分类:
其他好文 时间:
2019-01-04 12:17:12
阅读次数:
205
三十九, 一.类的约束 1.抛出异常 NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完后代码可继续运行 所有异常的根是Exception 1.基本语法 2.自定义异常 (继承Exception ...
分类:
编程语言 时间:
2019-01-02 23:21:23
阅读次数:
266
简述抽象类和接口区别 ① Abstract修饰符:抽象类不能省略;接口省略 ② 子类和实现类:抽象类的子类继承抽象类,单继承;接口的实现类实现接口,多实现; ③ 继承:抽象类单继承;接口多继承 ④ 变量和方法:除抽象方法外,有成员变量和普通方法;接口只有抽象方法和静态常量 ⑤ 复用:抽象类实现代码的 ...
分类:
其他好文 时间:
2019-01-02 20:10:00
阅读次数:
114
1. 类的约束 1. 写一个父类. 父类中的某个方法要抛出一个异常 NotImplementedError (重点) 2. 抽象类和抽象方法 2. 异常处理 raise 异常类("信息") 如何自己定义异常 class 类(Exception): pass 堆栈 import traceback t ...
分类:
编程语言 时间:
2019-01-02 17:28:13
阅读次数:
197
在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型、方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推断变量类型 Dart支持范型,List<int>表示一个整型的数据列表,List<dynamic>则 ...
分类:
编程语言 时间:
2019-01-02 16:19:59
阅读次数:
172
1,白鹅类型 白鹅类型对接口有明确定义,比如不可变序列(Sequence),需要实现__contains__,__iter__,__len__,__getitem__,__reversed__,index,count对于其中的抽象方法,子类在继承时必须具体化,其余非抽象方法在继承时可以自动获得,Se ...
分类:
编程语言 时间:
2019-01-02 01:20:21
阅读次数:
1151
包含抽象方法的类叫抽象类,如果一个类中包含一个或多个抽象方法,该类必须被限定为抽象的,否则编译器会报错,抽象类不可创建对象,创建抽象类的对象编译器会报错 如果从一个抽象类继承,并想创建该新类的对象,那么必须为基类中的所有抽象方法提供方法定义,如果不这样做(可以选择不做),那么导出类便也是抽象类,且编 ...
分类:
编程语言 时间:
2019-01-01 14:53:30
阅读次数:
211