简介: 工厂模式就是作为一个工厂的类有一个对象以及与他关联的多个方法,客户端使用某些参数调用此方法,之后工厂会依据此创建所需类型的对象,然后将它返回给客户端。工厂模式主要有以下几个优点: 1. 松耦合,对象的创建可以独立于类的实现 2. 客户端无需了解创建对象的类,但是照样可以使用它去创建对象。客户 ...
分类:
其他好文 时间:
2020-03-18 11:23:27
阅读次数:
47
一、类方法的强制重写与禁止重写 1、强制重写 需求:父类的一个方法,强制子类去重写 方式一: 把父类变成抽象基类,然后给指定的方法加上装饰器@abc.abstractmethod import abc class Animal(metaclass=abc.ABCMeta): @abc.abstrac ...
分类:
编程语言 时间:
2020-03-03 15:08:30
阅读次数:
77
类的创建过程以下说的类指的类本身,例如以下代码:classFoo:def__init__(self):pass则指的Foo的创建过程,而不是Foo的实例。1.解析MRO记录(ResolvingMROentries)根据MRO规则解析继承关系2.确定元类(Determiningtheappropriatemetaclass)查找元类的过程遵循以下规则:如果没有基类且没有指定metaclass,则使用
分类:
编程语言 时间:
2020-03-02 22:17:36
阅读次数:
70
【摘要】 面向对象的三大特性多态相关知识。 多态 1、多态 多态指的是一类事物有多种形态 动物有多种形态:人,狗,猪 1 import abc 2 class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 3 @abc.abstractmethod 4 def t ...
分类:
编程语言 时间:
2020-02-29 20:30:21
阅读次数:
81
问题描述 如果java层面发生了死锁,当我们使用jstack命令的时候其实是可以将死锁的信息给dump出来的,在dump结果的最后会有类似Found one Java-level deadlock:的关键字,接着会把发生死锁的线程的堆栈及对应的同步锁给打印出来,这次碰到一个系统就发生类似的问题,不过 ...
分类:
其他好文 时间:
2020-02-03 18:53:07
阅读次数:
53
class Saler: def __init__(self,name,sex,ident): self.name = name self.sex = sex self.ident = ident def sale(self): print('%s卖东西'%self.name) def add_go ...
分类:
其他好文 时间:
2020-01-15 13:39:52
阅读次数:
63
一、多态 多态指的是一类事物有多种形态 python:a 可以接受任意数据类型,对象 默认支持多态。 def func(a): pass 动物有多种形态:人,狗,猪 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abst ...
分类:
编程语言 时间:
2019-12-31 14:21:19
阅读次数:
105
元类属性的使用 来源: https://github.com/Python3WebSpider/ProxyPool/blob/master/proxypool/crawler.py 主要关于元类的使用: 通过获取由元类生成的爬虫抓取类的部分属性.这里为抓取函数,以相同的字符开头的抓取函数,生成属性列 ...
分类:
编程语言 时间:
2019-12-19 21:38:48
阅读次数:
116
摘自?http://www.cnblogs.com/wt869054461/p/4014271.html V=models.AutoField( options) int;在Django代码内是自增 V=models.DecimalField(max_digits=None, decimal_pla ...
分类:
其他好文 时间:
2019-12-19 21:22:23
阅读次数:
74
metaclass : 元类, 就是创建python类对象的类 # 便用type动态创建类 # 1. 使用type创建一个User类对象 无基类,无属性 . () : 表示基类, {}:属性 User = type('User', (), {}) user = User() print(user) ...
分类:
Web程序 时间:
2019-12-15 14:41:17
阅读次数:
128