- 博客(21)
- 收藏
- 关注
原创 ArkTS基于SQLite数据库的增删改查
字段不强制绑定数据类型,值的类型由内容决定。支持 NULL、INTEGER、REAL(浮点数)、TEXT、BLOB(二进制数据)五种基本数据类型。支持完整的 ACID(原子性、一致性、隔离性、持久性)事务。事务可确保数据操作要么完全成功,要么完全回滚,避免数据不一致。格式),无需独立的数据库服务器进程;库文件体积小(约 500KB-1MB),可直接嵌入应用程序中运行。SQLite 是一款轻量级、嵌入式、无服务器的关系型数据库管理系统。1.轻量级与无服务器架构。2.跨平台兼容性好。3.高性能与低资源消耗。
2025-06-05 09:44:35
544
原创 仓颉语言---Socket编程
Socket(套接字)可以被理解为网络上两个进程之间通信的端点。它是网络通信的抽象表示,封装了底层网络协议的复杂性,为应用程序提供了一个简单统一的接口。Socket 编程是一种网络编程范式,它允许不同计算机上的进程通过网络进行通信。这种通信可以发生在同一设备上的不同进程之间,也可以发生在不同地理位置的设备之间。Socket 编程提供了一种标准的方式来实现网络通信,是构建各种网络应用的基础。
2025-06-02 14:33:11
993
原创 仓颉语言---I/O流机制
标准输出流:负责将数据从内存写出到外存。输出端可以一段一段地从管道中读出数据,每次可读取任意长度的数据(不要求与输入端匹配),但需遵循先入先出原则。标准输入流::负责将数据从外存读取到内存。输入端可一段一段地向管道中写入数据,这些数据段按先后顺序形成长数据流。示例代码:1、BufferedOutputStream() 是为另一个输出流添加缓冲功能。2、BufferedInputStream() 为另一个输入流添加缓冲功能。示例代码:1、读取输入流,并在控制台打印。读取文件内容,将外部文件内容读取到内存中。
2025-05-31 10:12:58
587
原创 java多线程
线程是程序里能够独立运行的最小执行单元。它和进程不同,进程是程序在操作系统中的一次执行实例,而线程则是进程中的一个执行路径。多线程允许程序同时处理多个任务,以此提升程序的性能与响应速度。线程的特点 1.轻量级:创建和销毁线程的开销比进程小得多。因为线程共享进程的资源,所以在创建线程时,不需要像创建进程那样分配大量的系统资源。 2.并发执行:同一进程中的多个线程可以并发执行,从而提高程序的执行效率。例如,在一个音乐播放软件中,一个线程可以负责播放音乐,另一个线程可以负责处理用户对播
2025-05-21 17:11:22
735
原创 了解HashSet
HashSet是一种基于哈希表实现的集合数据结构,它用于存储不重复的元素。在 HashSet中,元素没有特定的顺序,并且不允许出现重复项。
2025-05-05 17:19:43
201
原创 面向函数编程--闭包
闭包是指有权访问另一个函数作用域中变量的函数。从本质上来说,闭包是由函数以及该函数所引用的外部环境组合而成的一个实体。即便创建该函数的上下文已经执行完毕,闭包仍能访问其外部函数作用域内的变量,这些变量会被保存在内存中而不会被销毁。
2025-04-25 10:58:54
417
原创 lambda表达式
Lambda 表达式是一种简洁的、匿名的函数定义方式,它允许你在代码中快速创建小型、一次性使用的函数,而无需显式定义一个完整的函数。Lambda 表达式在仓颉编程语言中也是支持的。
2025-04-24 14:51:19
583
原创 面向函数编程
把程序分解成一系列函数,每个函数接收输入参数并返回输出结果,强调函数的纯粹性,即相同的输入必然产生相同的输出,且不产生可观察的副作用(例如不修改全局变量、不进行 I/O 操作等)。
2025-04-23 18:09:44
1148
原创 设计模式--模板模式
模板模式是一种行为设计模式,它在抽象类里定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类。这样一来,子类可以在不改变算法结构的基础上,重新定义算法里某些步骤的具体实现。(1)代码复用性高:将固定不变的部分封装在抽象类的模板方法中,可变的部分则交由子类来实现,从而避免了代码的重复编写。(2)可维护性强:由于其核心部分在抽象类的模板方法中,当需要修改算法的整体结构时,只需要在抽象类中进行修改,而不会影响到各个子类。(3)符合开闭原则:“对扩展开放,对修改关闭”。
2025-04-22 17:56:47
493
原创 设计模式--代理模式
在程序运行的流程中,“客户”并没有直接的去调用目标方法/类,而是通过一个“中介”,通过在目标业务的前面和后面进行控制,判断“客户”是否满足条件来执行目标方法。
2025-04-21 16:53:48
324
原创 设计模式--工厂模式
工厂模式就是将创建对象的具体过程包装起来,然后根据用户的实际需求来创建不同的对象。实现方法是提供专门的工厂类,来创建具体的对象。创建工厂的方法可以有实例方法和静态方法,场景为工厂A和工厂B分别生产A商品和B商品。
2025-04-17 16:46:49
124
原创 设计模式--单例模式
单例模式用于在应用程序中只有一个实例化对象,以确保资源的高效利用和程序的稳定性,比如在读取或解析文件,加载数据到对象中,都只能在唯一的对象中同步数据。(如果存在多个对象,则会造成数据的不一致)。单例模式有两种类型:1.饿汉式单例2.懒汉式单例。在类加载时,就已经创建好了对象,等到程序调用时直接返回该对象即可。与饿汉式单例不同的是,懒汉式单例是等到被调用时再去创建。程序在运行期间只会创建一个对象。
2025-04-16 11:11:08
297
原创 仓颉语言--面向对象编程之抽象
抽象方法是没有方法体的,但一定要有返回值类型,抽象方法一定要被重写,其访问修饰符为protected或public。使用abstract关键字修饰类,那么该类为抽象类,主要作用就是为了加强运行时多态。1.抽象类是必须要被继承的,抽象类是不能实例化的,需要通过绑定子类完成实例化。2.抽象类中可以有构造方法,子类的构造函数一定依赖于父类的构造函数。使用interface关键字修饰,为了加强运行时多态和动态绑定。3.抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。4.有抽象属性设计器的类,一定是抽象类。
2025-04-15 17:22:41
277
原创 仓颉语言--面向对象编程之多态
指在继承关系中,方法名相同,参数列表相同,返回值类型相同,也就是子类对父类方法的重写。那么具体调用哪个重写的方法,是由实际创建的对象来决定的。因为创建对象是在运行期间完成的,所以称之为运行时多态。指在一个类中,方法名相同,参数列表不同,与返回值类型无关,称为方法重载。那么决定调用哪个方法,是由参数列表确定的。因为参数列表是在编译期间就确定了,所以称之为编译时多态。在上述代码的基础上,在声明一个子类daughter。
2025-04-14 17:38:52
498
原创 仓颉语言--面向对象编程之继承
因为子类可能会使用父类的数据,所以在子类完成初始化之前,一定先完成父类数据的初始化,所以子类构造函数的第一条语句都会调用父类的构造函数,如果父类的构造函数中有参数,就需要显示的调用父类构造函数,使用关键字super()1.仓颉语言中,继承为单继承,就是说子类只能有一个父类,不可以直接继承多个父类,但一个父类可以有多个子类。3.子类可以拥有父类的属性和方法,也可以扩展新的属性和方法,父类也可以调用子类扩展的方法。在仓颉编程语言中,继承的格式为:public class 子类名 <:父类名{ }
2025-04-12 11:11:13
347
原创 仓颉语言--面向对象编程之封装
封装在面向对象的编程思想中,确保类中数据的完整性和安全性是非常重要的。那么如何去提高数据访问的安全性呢?这里就需要用到“封装”,通过阻止外部对内部数据的直接访问和修改,来提高数据的安全性。就像给我们的手机账号设置密码,通过密码来保护我门的账号信息和个人隐私。那么在程序代码中,需要用到关键字private来修饰,通过将修饰的内容私有化,外部不能够直接的去访问,来提高数据访问的安全性。
2025-04-11 18:00:54
392
原创 仓颉语言--标识符的命名规则和数据类型
定义时使用struct关键字修饰*该类型不支持继承(不能有子类)* struct自定义类型是个值类型在struct自定义类型中,可以定义:1.成员变量:静态变量,实例(非静态)变量2.构造函数:主构造函数(只能有一个):方法名与struct定义的名字一致普通构造函数(可以有多个):方法名为init,有多个时,方法名一致,参数列表不同,形成构造函数重载,目的是为了给创建自定义类型struct的不同对象提供多种入口*二者均不能使用关键字func修饰*静态构造函数,用于初始化静态变量。
2025-04-10 12:13:20
1192
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人