day_5.02 py
'''
2018-5-2 18:43:54
设计4s店类
设计模式:
简单工厂模式(通过一个类的分离模式) 讨论耦合性的问题
类与类之间应该是低耦合性
通过有个 初始化 __init__ 来解耦 这样就是工厂模式
父类方法名就是接口,子类里面实现
(流程在基类里面定义好,然后在子类里面实现)
''' class Store(object):
def select_car(self):
pass
def order(self,car_type):
return self.select_car(car_type) class BMWCarStore(Store):
def select_car(self,car_type):
return BMWCarStore().select_car_by_type(car_type) class CarStore(Store):
def select_car(self,car_type):
return Factory().select_car_by_type(car_type) class BMWFactory(object):
def select_car_by_type(self,car_type):
pass class CarStore(object):
def __init__(self):
self.factory = Factory()
def order(self,car_type):
return self.factory(car_type) class Factory(object):
def select_car_by_type(car_type):
if car_type=="索纳塔":
return Suonata()
elif car_type=="名图":
return Mingtu()
elif car_type=="ix35":
return Ix35() class Car(object):
def move(self):
print("车在移动")
def music(self):
print("车在播放音乐")
def stop(self):
print("车在停止,,,,,,") class Suonata(Car):
def move(self):
print("车在移动")
def music(self):
print("车在播放音乐")
def stop(self):
print("车在停止,,,,,,") class Mingtu(Car):
pass
class Ix35(Car):
pass car_store =CarStore()
car =car_store.order("索纳塔")
car.move()
car.music()
car.stop()
bmw_store =BMWCarStore()
bmw =bmw_store.order("720li")
day_5.02 py的更多相关文章
- day_5.22 py
#!/usr/bin/env/python #-*-coding:utf-8-*- ''' 私有化 __相当于prevate 外部不能直接调用,只能通过set get方法用 property ''' ...
- day_5.21 py 高级编程
1.禁止模块之间的循环调用 2.浅拷贝 只拷贝引用!!\ 3. 深拷贝 只要里面有引用就继续拷贝 4.copy,copy() 5. '''2018-5-21 11:39:52就业班 py高级 ...
- day_5.11 py main
''' 2018-5-11 18:52:19 模块其实就是Java中的包 模块 就是 xxx.py main.py默认是最主要的模块 ''' class ClasssName(object): pas ...
- day_5.28 py网络编程
端口 socket简介: socket为一个类 s接收的是返回的对象引用 2018-5-28 15:52:47 开始进行网络编程 udp 套接字 encode() 编码 decode() 解码 ' ...
- day_5.20 py
列表去重的两种方法 1.自己写程序 for循环 2.直接变为set类型
- day_5.19 py总结②
- day_5.14 py 飞机大战Demo
飞机未完,继续做 2018-5-14 21:05:45 明天继续 循环里面的坑; 删除列表元素后循环了打印的不一样,主要是比如相邻的删除了,33,44 删除33 循环一次后44跑到33位置 ...
- day_5.12 py 老王开枪demo
ps:2018-7-24 21:00:04 其实这部分主要是面向对象的复习!而不是面向过程 #!/usr/bin/env/python #-*-coding:utf-8-*- ''' 2018-5-1 ...
- 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0
Linux系统下穿越火线-缓冲区溢出 原理:crossfire 1.9.0 版本接受入站 socket 连接时存在缓冲区溢出漏洞. 工具: 调试工具:edb: ###python在漏洞溢出方面的渗透测 ...
随机推荐
- 【转】Angular之constructor和ngOnInit差异及适用场景
原文:http://liuwenzhuang.github.io/2016/03/04/angular2-constructor-versus-ngOnInit.html -------------- ...
- WPF 实现阴影效果
一.WPF最常见的一个阴影效果的类是DropShadowEffect.它有几种比较有用的属性比如:Color设置颜色Direction设置投影的方向ShadowDepth设置投影距纹理下方的距离Opa ...
- 微软BI 之SSIS 系列 - 在 SSIS 输出平面文件时根据运行日期生成不同的文件名称
开篇介绍 在 SSIS 中操作文件的输入和输出是非常方便的,这个例子讲解一个最简单的需求:比如每天从数据库中查询一批数据要输出到文件,每天产生一个文件,那么文件的名称按照"文件名+日期&qu ...
- MDX Cookbook 04 - 在集合中实现 NOT IN 逻辑 (Minus, Except, Filter 等符号和函数的使用)
有时需要从一些查询结果里排除掉一些成员,当然平常情况下可以通过 MDX 查询中的 WHERE 条件即 Slicer 切片来完成,同样的这里显示的是如何在切片中排除掉一些成员. 先看这一个查询 - , ...
- angularjs图片上传和预览 - ng-file-upload
ng-file-upload ajax上传文件 官方demo地址 安装 bower install ng-file-upload-shim --save(for non html5 suppport) ...
- 【PMP】挣值分析
挣值分析(EVA):将实际进度和成本绩效与绩效测量基准进行比较. 1.名词解释 1.1 三个指标 PV [Plan value] 计划价值 官方释义:为计划工作分配的经批准的预算,它是为完成某活动或 ...
- WinDbg下载符号文件
设置添加系统环境变量_NT_SYMBOL_PATH 的值为:srv*c:\symbols*http://msdl.microsoft.com/download/symbols 这样启动WinDbg的时 ...
- 【AI】Exponential Stochastic Cellular Automata for Massively Parallel Inference - 大规模并行推理的指数随机元胞自动机
[论文标题]Exponential Stochastic Cellular Automata for Massively Parallel Inference (19th-ICAIS,PMLR ...
- IDEA环境设置
设置SDK:https://blog.csdn.net/y999666/article/details/51893348 打开模板使用说明,找到Maven本地安装目录, 备份E:\Program Fi ...
- BigDecimal乘法
BigDecimal result = new BigDecimal(doubleValue).multiply(factor2); public class Payment { BigDecimal ...