我的编程空间,编程开发者的网络收藏夹
学习永远不晚

类的高度整合

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

类的高度整合

目录

  • 没有对象
  • 有对象
  • 以未来我们要连接数据库举例,如果没有面向对象的思想,我们只要想要使用一个方法,就必须得这样做

88-对象的高度整合-mysql.jpg

import pymysql  # 连接mysql的三方库,可以pip3 install pymysql安装


def exc1(host, port, db, charset, sql):
    conn = pymysql.connect(host, port, db, charset)
    conn.execute(sql)
    return xxx


def exc2(proc_name):
    conn = pymysql.connect(host, port, db, charsett)
    conn.call_proc(sql)
    return xxx


exc1('1.1.1.1', 3306, 'db1', 'utf-8', 'select * from t1')
exc1('1.1.1.1', 3306, 'db1', 'utf-8', 'select * from t2')
exc1('1.1.1.1', 3306, 'db1', 'utf-8', 'select * from t3')
exc1('1.1.1.1', 3306, 'db1', 'utf-8', 'select * from t4')
  • 由于host、port、db、charset可能是固定不变的,sql一直在变化,因此我们通过上述的方法实现不同的sql语句,非常麻烦,因此我们可以改用默认形参
def exc1(sql, host='1.1.1.1', port=3306, db='db1', charset='utf-8'):
    conn = pymysql.connect(host, port, db, charset)
    conn.execute(sql)
    return xxx

exc1('select * from t1')
exc1('select * from t2')
exc1('select * from t3')
exc1('select * from t4')
  • 虽然是用默认参数简化了操作,但是对于不同引用的对象,参数并不是一成不变的,或者我们需要对exc2方法进行修改,这是非常麻烦的,因此可以考虑使用面向对象
  • 有了面向对象之后,对于上述的例子,我们可以这样做

88-对象的高度整合-对象.jpg

import pymysql


class Foo:
    def __init__(self, host, port, db, chartset):
        self.host = host
        self.port = port
        self.db = db
        self.charset = chartset

    def exc1(self, sql):
        conn = pymysql.connect(self.host, self.port, self.db, self.charset)
        conn.execute(sql)
        return xxx

    def exc2(self, proc_name):
        conn = pymysql.connect(self.host, self.port, self.db, self.charsett)
        conn.call_proc(sql)
        return xxx


obj1 = Foo('1.1.1.1', 3306, 'db1', 'utf-8')
obj1.exc1('select * from t1')
obj1.exc1('select * from t2')
obj1.exc1('select * from t3')
obj1.exc1('select * from t4')

obj2 = Foo('1.1.1.2', 3306, 'db1', 'utf-8')
obj2.exc1('select * from t4')
  • 对于上述发生的现象,我们可以总结对象其实就是一个高度整合的产物,整合数据与专门操作该数据的方法(绑定方法)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

类的高度整合

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

类的高度整合

目录 没有对象 有对象 以未来我们要连接数据库举例,如果没有面向对象的思想,我们只要想要使用一个方法,就必须得这样做import pymysql # 连接mysql
2023-01-31

使用calc()调整元素高度或宽度

style> .parent { display: flex; padding: 0px 5px; width: 600px; height: 200px; b
2023-08-30

Java中高精度整数与高精度小数的区别有哪些

Java中高精度整数与高精度小数的区别有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在实际编码中,会遇到很多高精度的事例,比如,在计算金钱的时候就需要保留
2023-05-31

动态调整textarea的宽度和高度以包含文本

要动态调整textarea的宽度和高度以包含文本,可以使用JavaScript来实现。首先,你需要获取到textarea元素,并且设置其初始的宽度和高度。```html```然后,你可以编写一个JavaScript函数来根据textarea
2023-09-26

Springboot如何整合Dozer实现深度复制

这篇文章将为大家详细讲解有关Springboot如何整合Dozer实现深度复制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DozerDozer是一种Java Bean到Java Bean的映射器,递归地
2023-06-29

将百度编辑器(Ueditor)整合到dedecms中的方法

本文实例讲述了将百度编辑器(Ueditor)整合到dedecms中的方法,分享给大家供大家参考。具体分析如下: 现在百度编辑器感觉比dedecms自带的编辑器要强多了,这里就来给大家介绍替换dedecms自带编辑器的方法. Ueditor整
2022-06-12

SpringBoot整合Redis及Redis工具类的实例分析

SpringBoot整合Redis及Redis工具类的实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBoot整合Redis的博客很多,但是很多都不是我想
2023-06-22

如何调整阿里云服务器的亮度高低

阿里云服务器是一种高度可扩展的计算服务,为用户提供稳定、安全、高效的计算服务。然而,对于初次使用阿里云服务器的用户来说,可能会遇到一些问题,如如何调整阿里云服务器的亮度高低。这篇文章将详细介绍如何调整阿里云服务器的亮度高低。一、调整阿里云服务器的亮度高低的方法:登录阿里云服务器:首先,你需要登录你的阿里云服务器。
如何调整阿里云服务器的亮度高低
2023-12-09

SpringBoot整合XxlJob分布式任务调度平台

xxl-job是一个开源的分布式定时任务框架,它可以与其他微服务组件一起构成微服务集群。它的调度中心(xxl-job)和执行器(自己的springboot项目中有@XxlJob("定时任务名称")的方法)是相互分离,分开部署的,两者通过HTTP协议进行通信
2023-02-28

SpringBoot3.0整合chatGPT的完整步骤

ChatGPT是OpenAI推出的一个语言模型系统,它能够实时回答用户提问,包括聊天、纠正语法错误,甚至是写代码、写剧本等,由于可玩性很高,迅速在全球范围内风靡起来,下面这篇文章主要给大家介绍了关于SpringBoot3.0整合chatGPT的完整步骤,需要的朋友可以参考下
2022-12-21

CSS实现高度自适应铺满整屏的案例

这篇文章主要介绍CSS实现高度自适应铺满整屏的案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在自己写demo的过程中,想使用display:flex实现垂直居中,代码如下: