自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Code哈哈笑的博客

大二小白一枚,请多多指教,谢谢~

  • 博客(57)
  • 收藏
  • 关注

原创 【Java 学习】对象赋值的艺术:Java中clone方法的浅拷贝与深拷贝解析,教你如何在Java中实现完美复制

在Java中,简单的赋值会导致对象共享内存空间,从而影响到原对象和复制对象的独立性。本博客深入探讨了Java中的浅拷贝与深拷贝,特别是如何通过clone()方法解决对象复制问题。我们首先介绍了浅拷贝的基本概念,分析了它如何导致对象之间的共享引用,从而影响程序的稳定性。接着,我们通过代码示例演示了如何使用Cloneable接口和重写clone()方法实现深拷贝,使得对象之间的引用类型字段能够独立复制。通过本博客,您将更清楚地理解深拷贝应用,并掌握如何通过合理设计来避免不必要的副作用,确保程序的正确性与效率。

2025-01-08 08:20:14 1726 56

原创 【Java 学习】Java的生命之源:走进Object类的神秘花园,解密Object类的背后故事

在Java中,Object类是所有类的根类,每个类都直接或间接地继承自它。Object类提供了一些常用方法,如toString()、equals()、hashCode()等,这些方法为所有类提供了统一的行为和操作接口。此外,clone()方法提供了对象复制的功能,但默认实现仅进行浅拷贝,导致引用类型字段仍指向原始对象。为了实现深拷贝,开发者需要重写clone()方法,手动处理引用类型的复制。本文深入探讨了Object类的设计原理及常用方法,帮助开发者更好地理解Java对象的生命周期及操作。

2025-01-02 14:02:36 5250 78

原创 【Java 学习】Comparable接口 和 Comparator接口,掌控排序逻辑解析,深入 Comparable 和 Comparator 的优雅切换

在 Java 编程中,排序是处理数据时常见的需求,而 Comparable 和 Comparator 是实现对象排序的重要工具。本文逐步讲解了 Comparable 和 Comparator 接口的原理、用法及应用场景,通过对比它们的特性,揭示了两者的核心区别。Comparable 适合定义对象的自然排序规则,排序逻辑直接内嵌于类中;而 Comparator 则更为灵活,支持在外部定义多种排序规则。无论是实现单一排序还是多种自定义排序,本文都提供了清晰的代码实例和详细的分析,为开发者提供了全面指导。

2024-12-30 09:04:23 2972 69

原创 【Java 学习】接口的意义:程序世界的规则与多态性,学会接口、驭见多态是Java初学者的必经之路

在编程的世界里,接口就像生活中的标准与契约,它定义了行为的规则,却不参与具体实现。通过对Java接口的深入学习,我们不仅能理解其抽象的定义和实现方式,还能体会它在多态性与解耦合中的深远意义。从日常生活中的USB接口启发,到猫、青蛙和鸭子这类生动案例,接口让代码设计更加灵活通用,也让复杂的系统架构变得井然有序。本文详细解析了接口的语法与使用场景,并结合实例展示了如何利用接口实现类间多继承与特性复用。通过阅读,你将掌握接口的核心概念,学会设计灵活的程序结构,真正做到"代码如诗",写出优雅而富有表现力的程序。

2024-12-26 17:05:33 2814 62

原创 【Java 学习】Java抽象类详解:从理论到实践,带你迈向面向对象的深度思考!

在Java中,抽象类是一种无法直接实例化的特殊类,它的设计初衷是为了定义一种规范,让子类去实现具体的功能。本文从基本概念入手,解析抽象类的特性、语法规则及其在实际开发中的应用场景。抽象类的核心特点包括:不能直接实例化、可包含抽象方法和普通方法,以及必须由子类实现所有抽象方法。文章深入探讨了抽象类在面向对象编程中的作用,并通过Animal、Dog、Cat类的关系图及代码示例,形象展示了如何用抽象类实现多态和代码规范。最后,文章强调了抽象类的使用场景及其优势,尤其是在开发中通过编译器校验帮助开发者减少潜在错误。

2024-12-24 11:28:34 4364 64

原创 【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活

多态是Java面向对象编程的核心特性之一,它使得代码在继承体系中表现出更灵活的动态行为。通过具体示例,我们探讨了向上转型的优雅用法和局限性,以及动态绑定如何让父类引用根据实际对象类型执行子类重写的方法。同时,我们详细讲解了向下转型的使用场景和风险,并通过实例化的代码和 instanceof 检查,确保转换的安全性。特别是结合 toString() 的动态绑定机制,展示了Java中动态行为的强大与精妙。如果你想在编程中更好地掌握多态的精髓,提升代码的灵活性与可扩展性,这篇文章绝对不容错过!

2024-12-23 08:54:05 3291 44

原创 【Java 学习】详讲代码块:控制流语句代码块、方法代码块、实例代码块(构造代码块)、静态代码块、同步代码块

学习Java编程语言时,理解代码块的概念是非常重要的。代码块是Java中的基本组成部分之一,它允许你将一组语句组织在一起,以便可以作为一个单元进行处理。控制流语句代码块用于定义特定条件下执行的代码,如if、for、while等。方法代码块是方法体内部的代码,执行具体任务。实例代码块(构造代码块)在对象创建时执行,用于初始化实例变量。静态代码块在类加载时执行,用于初始化静态变量。同步代码块使用synchronized关键字,确保多线程环境下的线程安全。这些代码块各有用途,控制程序流程和资源访问。

2024-12-19 14:51:02 3629 48

原创 【Java 学习】详讲 局部变量、成员变量

局部变量和成员变量是两种常见的变量类型,它们在作用域、生命周期、初始化等方面有显著的区别。理解这两者的区别对于编写清晰和高效的 Java 程序至关重要。局部变量:只在方法、构造方法、或代码块内有效,必须显式初始化,并且生命周期仅限于方法或代码块执行时。成员变量:包括实例变量和类变量,实例变量属于对象,类变量属于类,成员变量有默认值,生命周期较长,且可以使用访问修饰符来控制访问权限。

2024-12-18 10:50:09 4040 53

原创 【笔记】离散数学4~5章

一阶逻辑在命题逻辑的基础上,通过引入个体变量、量词和谓词,能够更精确地描述对象及其关系。等值演算提供了表达式之间的转换规则,使逻辑公式可以等价变形。推理则提供了从已知前提推出结论的方法,保证了逻辑推导的正确性。包含有:()1)一阶逻辑基本概念:一阶逻辑命题符号化,公式及其解释;(2)一阶逻辑等值演算与推理:一阶逻辑等值式与置换规则,一阶逻辑前束范式,一阶逻辑的推理理论。

2024-12-16 16:37:09 1238 42

原创 【MySQL 保姆级教学】用户管理和数据库权限(16)

数据库账户管理是指对数据库用户进行创建、修改和删除等操作,以控制用户对数据库的访问权限。通过账户管理,可以设置用户名、密码、主机地址等信息,确保数据库的安全性和可控性。例如,使用 CREATE USER 创建用户,ALTER USER 修改用户密码。数据库权限是指数据库为用户授予的操作权限,包括对数据库、表或字段的访问和操作权限,例如 SELECT(查询)、INSERT(插入)、UPDATE(更新)和 DELETE(删除)。权限的分配通过 GRANT 命令进行,撤销权限则使用 REVOKE 命令。

2024-12-15 17:11:00 9457 42

原创 【笔记】数据库系统概论,通过做经典例题学知识,期末复习必备~

此文章以例题为主线,讲解题中数据库系统概论的知识点,没学过数据库概论的同学也可以进行学习。如果想要更牢固的掌握知识点,可以先学习数据库设计基础知识。此文章涉及E-R图、范式、关系代数,及前三者中的各种知识点。概念模型,各实体之间的联系,第一范式1NF,第二范式2NF,第三范式3NF,第四范式4NF,第五范式5NF,关系代数表达式(交、差、并),笛卡尔积,关系代数运算符(选择、投影、连接、除),候选码,主码,外码,主属性和非主属性,关系模式,完全函数依赖,部分函数依赖,传递函数依赖,记号 t[A] 等。

2024-12-13 15:05:37 1038 51

原创 【笔记】数据库设计基础知识,E-R图、范式、关系代数,及前三者中的各种知识点。期末复习必备~

《数据库系统概论》是计算机科学与技术领域中关于数据库系统的专业教材。它系统地介绍了数据库系统的基本原理、方法和应用技术。此文章涉及E-R图、范式、关系代数,及前三者中的各种知识点。概念模型,各实体之间的联系,第一范式1NF,第二范式2NF,第三范式3NF,第四范式4NF,第五范式5NF,关系代数表达式(交、差、并),笛卡尔积,关系代数运算符(选择、投影、连接、除),候选码,主码,外码,主属性和非主属性,关系模式,完全函数依赖,部分函数依赖,传递函数依赖,记号 t[A] 等。

2024-12-08 20:13:58 1461 56

原创 【笔记】离散数学 1-3 章

离散数学的 1 到 3 章主要涵盖集合论、命题逻辑与谓词逻辑等关键内容。集合论中,阐述了集合的基本概念,像集合的定义、表示方法,以及集合间的关系与运算,如交集、并集等,为后续知识奠定基础。命题逻辑聚焦命题的表示、联结词的运用以及命题公式的构建与等价性判断,通过真值表等工具深入剖析逻辑关系。谓词逻辑则进一步拓展,引入量词,对个体域中的对象进行更精确的性质与关系描述,使逻辑表达更丰富全面,能处理诸如 “存在某个”“任意一个” 等复杂语义情境,助力学生构建严谨的逻辑思维体系以应对众多学科问题。

2024-12-04 17:20:27 1926 60

原创 【Java 学习】面向程序的三大特性:封装、继承、多态

面向对象程序三大特:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?就是套壳屏蔽细节。public,protected,default,private。继承机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称派生类(子类)。super该关键字主要作用:在子类方法中访问父类的成员。实现多态的条件:必须在继承体系下,子类必须要对父类中方法进行重写,通过父类的引用调用重写的方法。

2024-11-28 15:42:30 4739 66

原创 【Java 学习】详细讲解---包和导包、Scanner类、输入源

包(Package)是一种将类和接口组织在一起的机制。访问空间管理,访问控制,代码组织。“导包”指的是使用 import 语句将一个类或接口从一个包中引入到当前的编译单元中。导包可以让你在代码中直接使用类或接口的简单名称。`Scanner` 类是 Java 标准库中的一个实用工具类,用于从标准输入(通常是键盘输入)或其他输入源(如文件或字符串)读取不同类型的输入数据。Scanner 类提供了多种方法来读取和解析不同类型的数据,如整数、浮点数、字符串等。输入源,标准输入源,字符串输入,文件输入。

2024-11-25 21:58:07 7005 63

原创 【Java 学习】构造器、static静态变量、static静态方法、static构造器、

默认构造器(Default Constructor)是 Java 中的一个重要概念,它是由编译器自动生成的一种特殊的构造函数。当一个类没有显式地定义任何构造函数时,Java 编译器会自动为这个类提供一个无参数的构造函数,这就是默认构造器。构造器重载,构造器其实就是一个方法,既然是方法那么构造器也可以重载。在 Java 中,`static` 关键字用于声明静态成员,包括静态变量(类变量)和静态方法。静态成员属于类本身,而不是类的实例。static 修饰的方法或者变量不需要依赖于对象来进行访问。

2024-11-25 10:24:20 3362 43

原创 【Java 学习】初识类和对象、this引用

面向过程:侧重的是过程(比如,实现代码的详细步骤)。面向对象:侧重的是对象。Java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。类其实就相当于一个**数据类型**,只不过这个数据类型中包装了很多的方法和变量。类既然是数据类型,那么初始化类的时候就需要设置变量,类的变量名字叫做引用变量。`this关键字`也叫做`this引用`指向当前对象(调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。

2024-11-21 19:03:34 3748 50

原创 【Java 学习】字符串、数组、方法、函数重载

`String` 类并不是数组,但它有一些与数组相似的特性。`String` 是一个不可变的字符序列,内部使用字符数组来存储数据。数组是一种==线性数据结构==,用于存储固定数量的==相同类型==的数据。数组中的每个元素都有一个==索引(从 0 开始)==,可以通过索引来访问和修改数组中的元素。包装就叫做方法,或则叫做函数。方法重载(Method Overloading)是 Java 中的一种特性,==允许在同一个类中定义多个同名的方法==,但这些方法的==参数列表必须不同==。

2024-11-19 20:09:28 2796 42

原创 【Java 学习】数据类型、变量、运算符、条件和循环语句、跳转语句、关键字和标识符

【Java 学习】数据类型、变量、运算符、条件和循环语句、跳转语句、关键字与标识符。数据类型分为两大类:基本数据类型和引用数据类型。变量是存储数据的容器。在 Java 中,变量的声明和使用需要指定数据类型。运算符用于执行各种操作,包括算术、关系、逻辑和赋值操作。条件控制语句用于根据条件执行不同的代码块。if--else和switch--case语句,while,for,do-while循环语句;break,continue,return语句;三元运算符.

2024-11-18 20:13:29 1772 35

原创 【MySQL 保姆级教学】详细讲解视图--(15)

MySQL的视图(View)是一种虚拟表,其内容由查询定义。从本质上讲,视图并不是以存储数据的形式存在的实体表,而是根据定义视图时所使用的查询语句动态生成的一组数据。视图的主要特点和优势包括:简化查询,视图可以将复杂的查询语句封装起来,使用户能够以更简单的方式查询数据,特别是当涉及到多个表的联接操作时。数据抽象,通过视图,可以隐藏表的真实结构。增强安全性,可以创建视图来限制用户对表中某些敏感数据的访问。逻辑独立性,当底层表的结构发生变化时,通过调整视图的定义,可以保持应用程序不受影响从而提高了系统的灵活性。

2024-11-15 13:12:55 5096 46

原创 【MySQL 保姆级教学】事务的隔离级别(详细)--下(14)

MySQL服务可能会同时被多个客户端进程(线程)访问,访问的方式以事务方式进行。一个事务可能由多条SQL构成,也就意味着,任何一个事务,都有执行前,执行中,执行后的阶段。读未提交(Read Uncommitted),在读未提交隔离级别下,一个事务可以读取另一个事务尚未提交的数据。读已提交(Read Committed),在读已提交隔离级别下,一个事务只能读取到另一个事务已经提交的数据。可重复读(Repeatable Read),避免了脏读和不可重复读。提供了较高的数据一致性。序列化,事务被完全隔离。

2024-11-14 16:00:34 2939 42

原创 【MySQL 保姆级教学】事务的自动提交和手动提交(重点)--上(13)

事务就是一组DML语句组成,这些语句在逻辑上存在相关性。事务就是要做的或所做的事情,主要用于处理操作量大,复杂度高的数据。一个完整的事务,绝对不是简单的sql 集合,还需要满足如下四个属性:原子性,一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节;一致性,在事务开始之前和事务结束以后,数据库的完整性没有被破坏;隔离性,可以防止多个事务并发执行时由于交叉执行而导致数据的不一致;持久性,事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

2024-11-12 19:35:08 2737 34

原创 【MySQL 保姆级教学】深层理解索引及其特性(重点)--上(11)

索引,提高数据库的性能,索引是物美价廉的东西了。MySQL在启动的时候会预先开辟一大块内存空间,在合适的时候把我们对数据的操作体现在内存级,MySQL定期的把数据主键索引(Primary Key)主键索引是一种特殊的唯一索引,不允许有重复值,并且每个表只能有一个主键。唯一索引(Unique)唯一索引确保了索引列中的所有值都是唯一的。普通索引(Index)普通索引是最基本的索引类型,它没有任何限制,可以包含重复的值。全文索引(Fulltext)全文索引主要用于全文本搜索,它可以对文本内容进行复杂的搜索操。

2024-11-07 09:54:41 2695 35

原创 【MySQL 保姆级教学】深层理解索引及特性(重点)--下(12)

索引,提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的`create index`,查询速度就可能提高成百上千倍。主键索引(Primary Key)主键索引是一种特殊的唯一索引,不允许有重复值,并且每个表只能有一个主键。唯一索引(Unique)唯一索引确保了索引列中的所有值都是唯一的。普通索引(Index)普通索引是最基本的索引类型,它没有任何限制,可以包含重复的值。全文索引(Fulltext)全文索引主要用于全文本搜索,它可以对文本内容进行复杂的搜索操。

2024-11-05 20:16:37 2815 26

原创 【MySQL 保姆级教学】 复合查询--超级详细(10)

多表查询是指在数据库中从两个或多个表中检索数据的SQL查询。这种查询允许用户基于某些条件将不同表中的数据连接起来,从而获得更复杂和全面的信息。INNER JOIN(内连接),EFT JOIN(左连接),RIGHT JOIN(右连接),FULL OUTER JOIN(全外连接),CROSS JOIN(交叉连接),自连接,笛卡尔积。通过连接多个表,你可以将分散在不同表中的相关信息整合到一起,形成一个完整的数据集。这对于需要从多个来源获取信息的报告和分析非常有用。相比于多次查询不同的表并将结果手动合并,复合查询可

2024-11-04 10:14:09 1845 29

原创 【MySQL 保姆级教学】内置函数(9)

数值函数ABS(x): 返回 x 的绝对值。CEIL(x) 。FLOOR(x)。ROUND(x, d)。RAND()。MOD(x, y): 返回 x 除以 y 的余数。日期和时间函数NOW() 。CURDATE(): 。CURTIME(): 返回当前时间。DATE_ADD(): 在日期上加上一个时间间隔。DATE_SUB(): 从日期中减去一个时间间隔。DATEDIFF(): 计算两个日期之间的天数差。。聚合函数COUNT(*)。SUM() 。MAX() 。MIN()。

2024-10-28 16:23:14 2734 35

原创 【MySQL 保姆级教学】表数据的操作--下(8)

表数据的操作。UPDATE 语句在 SQL 中用于修改表中已有的记录。它允许你更改一个或多个列的值,可以针对表中的所有记录,也可以通过== WHERE 子句==指定特定的记录。更新指定列的时候一定要用条件子句(where)。DELETE 语句在 SQL 中用于从表中删除记录。TRUNCATE 语句在 SQL 中用于删除表中的所有记录,但它与 DELETE 语句有一些重要的区别。插入查询结果(也称为==子查询插入==或 INSERT ... SELECT 语句)是一种在 SQL 中非常有用的技术。聚合函数。

2024-10-28 09:51:30 1443 22

原创 【MySQL 保姆级教学】表的约束--详细(6)

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个:。为什么要有约束?假如,你创建一个列,其他人在在该列中插入不同的数据,包括字符串、整型、日期类型,当你想处理这些数据时;会有很大的难度。通过约束,插入到数据库表中的数据都是合法的、正确的、可预期的。ZEROFILL 是MySQL中的一个属性,用于在数值类型(如 INT、BIGINT 等)的列上。

2024-10-23 13:11:35 2104 26

原创 【MySQL 保姆级教学】表数据的操作--上(7)

增加记录操作用于向数据库表中添加新的行。通过 INSERT 语句,可以指定要插入的列和对应的值。删除记录操作用于从数据库表中移除现有的行。通过 DELETE 语句,可以指定要删除的条件。修改记录操作用于更新数据库表中现有行的数据。通过 UPDATE 语句,可以指定要更新的列和新的值,并且可以指定更新的条件。查询记录操作用于从数据库表中检索数据。通过 SELECT 语句,可以指定要检索的列和条件。创建表操作用于在数据库中创建一个新的表。通过 CREATE TABLE 语句,可以定义表的结构,包括列名、数据类型

2024-10-21 15:42:20 1182 18

原创 【MySQL 保姆级教学】数据类型全面讲解(5)

对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。如果定义的是float(4,2) unsigned 这时,因为把它指定为无符号的数,范围是 0 ~ 99.99。M表示每个值的位数,范围从1到64。: 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255。加入插入的是 1, 1的bit位是 0001,最后一位是1,也就是‘代码’插入3,3的bit位是 0011,后两位是1,是 ‘代码’,’羽毛球‘

2024-10-21 09:04:44 861 11

原创 【MySQL 保姆级教学】表结构的操作(4)

在数据库中,表是用于存储和组织数据的基本结构。表由行(记录)和列(字段)组成,每一行代表一个数据记录,每一列代表一个特定的数据属性。表的定义包括表的名称、列的定义、数据类型、约束和其他属性。表名:表的唯一标识符,用于在数据库中引用该表。列名:表中每一列的名称,用于标识该列存储的数据。数据类型:每列的数据类型,定义了该列可以存储的数据种类。约束:用于确保数据的完整性和一致性,常见的约束包括主键、外键、唯一性、非空等。索引:用于加速数据检索的特殊数据结构。其他属性:如默认值、注释等。

2024-10-16 19:20:15 1391 20

原创 【MySQL 保姆级教学】数据库的操作(3)

数字存储的时会使用字符集,数据查找或者匹配,这样会进行数据比较,想要进行比较就需要先读取出来,读取使用校验集,支持数据库进行比较使用的校验集,本质也是一种读取数据库中数据的编码格式。此时,在 Linux 目录中,mysqld会创建一个目录,这个study_1的创建是 mysqld 服务端的操作。的字符及其编码方式。创建名为 study_1 的数据库(当创建数据库时不设置字符集时,会使用mysql默认的字符集)举个简单的例子,如果你存储数据使用浮点类型,而取数据用字符串类型,这样取出来的数据肯定会乱套的。

2024-10-16 11:09:05 960 11

原创 【MySQL 保姆级教学】数据库基础(重点)(2)

数据库(Database)是一种按照数据结构来组织、存储和管理数据的仓库。通过数据库管理系统(Database Management System, DBMS),用户可以方便地对数据进行创建、查询、更新和删除等操作。数据库的主要目的是有效地存储和管理数据,以便于多个用户或应用程序能够高效、安全地访问和共享数据。简单的说就是一套给我们提供数据存储的服务的网络程序。口头上的数据库一般指:在磁盘或者内存中存储特定结构的数据 — 在磁盘上存储的一套数据方案数据库的主要特征数据结构化:数据库中的数据是以。

2024-10-12 19:13:18 1702 19

原创 【MySQL 保姆级教学】在Linux(CentoS 7)中安装MySQL(1)

这个命令的作用是先使用 ps ajx 显示系统中所有用户的进程,然后通过管道符 | 将输出传递给 grep 命令,grep 命令会从这些输出中筛选出包含 mariadb 字符串的行。添加完后再点击电脑的按键 “Esc”,然后,再点击电脑的按键 “Shift”和“:” 同时按,再接着按 “w”,再按“q”,最后按“Enter”。先普及一个知识,其实我们在 Linux 通过yum下载的安装包类型就是刚才我们下载的安装包类型。可以清楚的看到,我的 Linux里面没有 MySQL 的 yum源。

2024-10-12 13:00:07 1505 12

原创 【C++ 学习】多态的基础和原理(10)

本内容适合有C++继承基础的同学学习,本节讲解C++多态的基础知识和多态的实现原理,适合同学学习和更加深入的理解多态。多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。相同的函数调用界面(即函数名和参数列表)在传送给不同对象时,可以表现出不同的行为。这取决于对象变量所指向的实际对象类型。函数多态是变量多态的进一步体现,因为函数调用的行为最终是由对象变量的实际类型决定的。通过多态,可以在不修改现有代码的情况下,增加新的功能或行为。

2024-09-20 17:36:32 1035 16

原创 【Python 数据分析学习】Matplotlib 的基础和应用

Matplotlib 是一个用于 Python 的 2D 图形库,它能够以多种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。Matplotlib 提供了一个非常接近 MATLAB 的 API,使得从 MATLAB 迁移到 Python 的过程变得相对容易。它最初由 John D. Hunter 开发,并于 2003 年首次发布。随着时间的发展,Matplotlib 已经成为了 Python 数据可视化领域的一个标准库,广泛应用于科学计算、数据分析以及机器学习等领域。

2024-09-16 18:09:32 6489 14

原创 【Python 数据分析学习】Pandas的基础和应用(2)

数据透视表是常用的数据分析工具之一,它可以根据一个或多个指定的维度对数据进行聚合。对于Pandas数据,由于其类似表格的特性,还支持许多累计统计的分析,为数据分析提供了很大的方便,也成Pandas的一大优势。的元素,而且不进行补齐操作,返回一个布尔型的对象。常见的比较运算有:‘>’,‘=’,‘

2024-09-14 15:52:03 1243 7

原创 【Python 数据分析学习】Pandas基础与应用(1)

Pandas是Python中的一个高效易用的数据结构和数据分析的第三方库。Pandas是Python中数据分析的基础,旨在成为最实用最便利的开源数据分析的工具。善于处理浮点数和非浮点数的数据缺失(用NaN来表示);大小可变:数据的行列能够从DataFrame或者更高维度的数据结构中添加或者删除;自动数据对齐:目标会被显式地根据标签对齐,使用者也可以忽略标签,直接利用DataFrame、Series来自动对齐;功能强大,灵活的分组功能,可对数据执行拆分-应用-组合的一系列操作,以便聚合和转换数据。

2024-09-08 19:29:12 1193 5

原创 【Python 学习】Numpy的基础和应用

NumPy是Python的一个基础科学计算包,是许多高级的第三方科学计算的模块,如:Matplotlib、Pandas等,都是基于NumPy所构建的。强大的多维数组功能。精细而复杂的功能。用于集成C / C ++和Fortran代码的工具。实用的线性代数,傅里叶变换和随机数功能。在使用数组前,必须首先导入Numpy模块。高效的数据存储:NumPy 数组(ndarray)在内存中是连续的,因此可以比 Python 列表更高效地访问和操作数据。NumPy 数组支持多种数据类型,如整数、浮点数、复数等

2024-09-07 10:10:43 562 4

原创 【C++学习】继承(9)

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public:cout

2024-09-05 20:08:55 678 6

8000000条数据的表

8000000条数据的表,供测试普通查询和索引查询,效果非常明显

2024-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除