当前位置: 首页 > news >正文

易语言.飞扬特性展示2

类型反射:编译后的类型具有“自省”性。可以在运行时获取类型(或类库)的定义信息。可以根据类名称动态创建类对象,并调用对象指定方法。提供“反射”类库供程序员使用。

在这里插入图片描述
静态编译:
源代码将被直接编译为可执行代码。
没有中间字节码,没有解释执行环节。
编译时执行严格的语法和数据类型检查。
绝大多数非逻辑性错误都能在编译时发现。
在这里插入图片描述
动态类型装载:
类型总是以类库的形式存在。
类库总是在第一次用到时被加载。
类型总是在第一次用到时被装载。
类型可以随时被卸载。
动态类型装载有助于提升程序的模块化、灵活性和可扩展性。在这里插入图片描述
属性表:
属性表采用易读易写的类XML格式,用于辅助定义“类库、类、接口、枚举、常量、变量、参数、友好名称……”等几乎所有程序实体。
属性表的位置通常紧跟在实体名称的后面,且用户可以根据情况灵活设置扩展属性,并可通过反射机制读取。在这里插入图片描述
类自然语言编程:
属性表采用易读易写的类XML格式,通过引入“友好名称”,易语言实现了“类自然语言编程”。
友好名称也有“参数”的概念,但它的参数可以出现在友好名称中间的任意位置,参数的顺序也不重要——而不象类方法那样:参数只能顺次放在方法名称的后面(还要用小括号括起来)。
在这里插入图片描述
多层嵌套注释:
“/”表示多行注释的开始,“/”表示多行注释的结束。
和其它语言不同的是,“易语言.飞扬”多行注释内部允许嵌套使用单行注释和多行注释。在这里插入图片描述
多返回值:
方法可以有多个返回值。
多个返回值可以有不同的数据类型。
多返回值给编写程序提供了更大的灵活性。在这里插入图片描述
嵌入类型和匿名类:
允许在类型内部嵌套定义其它类型。
嵌入类可以被允许访问其外层类的所有成员。
可以创建匿名类对象。在这里插入图片描述
嵌入方法:
允许在方法内部嵌套定义其它方法。
嵌入方法可以使用其外层方法中的参数和局部变量。
通过嵌入方法可以实现更小范围内的代码重用。在这里插入图片描述
属性:
支持“对象.属性”语法,如“按钮1.标题”。
当属性被读取或赋值时,对象将会得到通知。
本特性用作更好地支持快速应用程序开发。

事件:
当对象收到某个事件时,其对应的事件处理方法将被调用。 本特性用作更好地支持快速应用程序开发。在这里插入图片描述
在这里插入图片描述
中英文双语关键字:
为了兼顾已有程序员的思维习惯,“易语言.飞扬”中所有关键字和系统属性,都同时具有中英文两种名称,可以同时混用。
在语法格式和关键字方面,尽量与现有类似编程语言相同,减少了学习量 。在这里插入图片描述
参数默认值:
方法的参数可以有默认值。
与其它语言不同的是,“易语言.飞扬”任何一个参数都可以有默认值,不限于最后面的参数 。在这里插入图片描述
参数扩展:
方法的参数可以被扩展。
不仅允许扩展最后一个参数,还允许以“组”为单位扩展最后N个参数。在这里插入图片描述
数据类型自动转换:
可实现基本数据类型数据和对象之间的自动相互转换。在这里插入图片描述
“动态类型”和“弱类型”:
通过在系统库中引入“通用型”、“数值型”、“数组型”等类,“易语言.飞扬”在一定程度上做到了“动态类型”和“弱类型”。
以通用型为例,可以将其它类型数据赋值给通用型变量,也可以将通用型变量赋值给其它数据类型变量。
如果某方法的参数为“通用型”,则该参数可以接收各种类型的参数值。
在这里插入图片描述

在这里插入图片描述
三联判断表达式:
“0 < x < 10”等效于“x > 0 && x < 10”。
前者更符合人的思维习惯,代码可读性好。
与数学表达式相一致,便于初学者理解。在这里插入图片描述
交换操作符:
交换操作符用于交换两个变量的值。
“a <=> b;”等效于“int c = a; a = b; b = c;”。
前者更直观,更简捷,代码可读性好。
在这里插入图片描述
“易语言.飞扬”与 JAVA、C#、C++ 的异同:
易语言.飞扬 JAVA C# C++
编译 编译为机器码 编译为字节码 编译为字节码 编译为机器码
执行 由CPU直接执行 在虚拟机中执行 在虚拟机中执行 由CPU直接执行
面向对象 完全面向对象 完全面向对象 完全面向对象 支持面向对象
垃圾回收 支持 支持 支持 (目前)不支持
标准类库 有,有待丰富 非常丰富 非常丰富 标准类库较小,但第三方类库非常丰富
单根继承 是 所有类都是“系统.对象”的子类 是 所有类都是“java.lang.Object”的子类 是 所有类都是“System.Object”的子类 否 任何类都可以有多个基类,没有固定基类
跨平台 支持 同一个源代码未经修改或经少量修改可在其它平台下编译运行 支持 同一个程序或类库未经修改或经少量修改可在其它平台下运行 不支持 仅限于Windows平台 支持(但在多线程、网络、文本编码转换等领域需第三方类库支持)
多线程 支持 支持 支持 第三方类库支持
Unicode 支持 支持 支持 部分支持
网络 支持 支持 支持 第三方类库支持
语言复杂度 简单 较简单 较简单 较复杂
学习难度 容易 较容易 较容易 较难
IDE支持 自行开发,会支持很好 支持很好 支持很好 支持较好
易语言.飞扬 JAVA C# C++
启动方法 公开 静态 整数 启动(文本[] 参数) public static void main(String[] args) public static void Main(string[] args) int main(int argc, char** argv)
启动类 编译时指定 在 MANIFEST.MF 文件中指定 Main方法所属类 无
基本类型 整数,小数,逻辑,文本,字节集 byte, short, int, float, double, boolean, long ,char char, unsigned char,short, unsigned short, int, unsigned int, long, float, double, bool
定义类时所用关键字 类 或 class class class class
公开/保护/私有 所对应的关键字 公开/扩展/私有 public/protected/private public/protected/private public/protected/private
定义变量 整数 i = 123; 或 int i = 123; int i = 123; int i = 123; int i = 123;
定义数组变量 整数[] a = { 1, 2, 3 }; int[] a = { 1, 2, 3 }; int[] a = { 1, 2, 3 }; int[] a = { 1, 2, 3 };
定义类 公开 类 我的类 <基类型 = XXX> { } public class MyClass extends XXX { } public class MyClass : XXX { }; class MyClass :public XXX { };
易语言.飞扬 JAVA C# C++
定义接口 公开 接口 我的接口 { } public interface MyInterface { } public interface MyInterface { }; 没有明确的接口概念,但可用纯虚类加多重继承达到接口的效果
定义枚举 公开 枚举 我的枚举 { u, v, w } public enum MyEnum { u, v, w } public enum MyEnum { u, v, w }; enum MyEnum { u, v, w };
创建对象 对象 obj = 创建 对象(); Object obj = new Object(); Object obj = new Object(); MyClass obj; 或 MyClass* pObj = new MyClass();
创建数组对象 整数[] a = 创建 整数[x]; int[] a = new int[x]; int[] a = new int[x]; int* a = new int[x];
条件判断(if) 如果( 1 + 1 == 2) { } 否则 { } if( 1 + 1 == 2) { } else { } if( 1 + 1 == 2) { } else { } if( 1 + 1 == 2) { } else { }
多条件判断(switch) 假如(x) { 为 1: 为 2: 为其他: } switch(x) { case 1: break; case 2: break; default: } switch(x) { case 1: break; case 2: break; default: } switch(x) { case 1: break; case 2: break; default: }
循环(while) 循环(x < 0) { x++; } while(x < 0) { x++; } while(x < 0) { x++; } while(x < 0) { x++; }
循环(for) C循环(整数 i = 0; i < 10; i++) { } for(int i = 0; i < 10; i++) { } for(int i = 0; i < 10; i++) { } for(int i = 0; i < 10; i++) { }

相关文章:

易语言.飞扬特性展示2

类型反射&#xff1a;编译后的类型具有“自省”性。可以在运行时获取类型&#xff08;或类库&#xff09;的定义信息。可以根据类名称动态创建类对象&#xff0c;并调用对象指定方法。提供“反射”类库供程序员使用。静态编译&#xff1a; 源代码将被直接编译为可执行代码。 没…...

FlashDecoding

Flash Attention是将Q划分到所有SM block上。每个SM block上的Q&#xff0c;负责和所有K和所有V进行计算&#xff0c;得到对应的结果。期间&#xff0c;SM block彼此之间&#xff0c;不需要通信。 在prefill阶段&#xff0c;seqLength*batchSize*Heads足够多&#xff0c;所以每…...

提示词生成新方法,用Make自动化生成

提示词生成新方法&#xff01;用Make自动化生成&#xff01; 在当今快速发展的科技时代&#xff0c;人工智能&#xff08;AI&#xff09;正在改变我们如何创作内容。然而&#xff0c;待人青睐的诀窍——提示词生成&#xff0c;可能令许多创作者感到迷惘。你是否曾在写作中挣扎…...

每日一题——括号生成

题解 给定 n 对括号&#xff0c;要求编写一个函数生成所有合法的括号组合。合法的括号组合必须满足每一对括号中的左括号必须先于右括号&#xff0c;并且括号数量必须平衡。 题目描述 输入&#xff1a; 一个整数 n&#xff0c;表示括号的对数&#xff0c;满足 0 ≤ n ≤ 1…...

实操部署DeepSeek,添加私有知识库

目录 一、环境介绍 PowerShell版本&#xff1a; wsl版本&#xff1a; 虚拟机版本&#xff1a; 本机IP&#xff1a; 虚拟机IP&#xff1a; 容器宿主机IP&#xff08;host.docker.internal&#xff09;&#xff1a; Docker版本&#xff1a; Docker Compose版本&#xff…...

宜宾数字经济新标杆:树莓集团赋能区域产业转型升级

树莓集团在宜宾成为数字经济新标杆&#xff0c;有力地赋能区域产业转型升级。在传统产业数字化转型方面&#xff0c;树莓集团针对宜宾的制造业企业&#xff0c;引入工业互联网技术。 通过搭建工业互联网平台&#xff0c;实现企业生产设备的联网和数据采集&#xff0c;帮助企业…...

8.大规模推荐系统的实现

接下来我们将学习大规模推荐系统的实现。在实际应用中&#xff0c;推荐系统需要处理海量数据&#xff0c;并在短时间内生成推荐结果。这要求我们在设计和实现推荐系统时&#xff0c;考虑到数据的分布式存储与处理、计算的高效性和系统的可扩展性。在这一课中&#xff0c;我们将…...

第三届通信网络与机器学习国际学术会议(CNML 2025)

在线投稿&#xff1a; 学术会议-学术交流征稿-学术会议在线-艾思科蓝 通信网络机器学习 通信理论 通信工程 计算机网络和数据通信 信息分析和基础设施 通信建模理论与实践 无线传感器和通信网络 云计算与物联网 网络和数据安全 光电子学和光通信 无线/移动通信和技术 智能通信…...

MySQL两阶段提交策略

书接上一篇文章&#xff0c;MySQL通过不同的策略来保证事务的ACID&#xff1a;原子性、一致性、隔离性、持久性&#xff0c;通过锁机制实现隔离性&#xff0c;通过redoundobinlog三种日志实现事务的原子性、一致性和持久性。 本文主要讲MySQL的持久性的一个实现机制-两阶段提交…...

uniapp商城之购物车模块

文章目录 一、列表渲染二、删除单品1.封装删除API2.按钮绑定事件三、修改单品数量1.复用步进器组件2.属性和事件的绑定3.接口封装4.调用接口四、修改商品选中/全选1.单品选中绑定事件调用修改API2.计算全选状态3.绑定事件调用全选API并渲染单品选中状态五、底部结算信息1.计算选…...

STM32_USART通用同步/异步收发器

目录 背景 程序 STM32浮空输入的概念 1.基本概念 2. STM32浮空输入的特点 3. STM32浮空输入的应用场景 STM32推挽输出详解 1. 基本概念 2. 工作原理 3. 应用场景 使能外设时钟 TXE 和 TC的区别 USART_IT_TXE USART_IT_TC 使能串口外设 中断处理函数 背景 单片…...

python自动化测试之Pytest框架之YAML详解以及Parametrize数据驱动!

一、YAML详解 YAML是一种数据类型&#xff0c;它能够和JSON数据相互转化&#xff0c;它本身也是有很多数据类型可以满足我们接口 的参数类型&#xff0c;扩展名可以是.yml或.yaml 作用&#xff1a; 1.全局配置文件 基础路径&#xff0c;数据库信息&#xff0c;账号信息&…...

python基础入门:6.3异常处理机制

Python异常处理全面指南&#xff1a;构建健壮程序的关键技术 # 完整异常处理模板 def process_file(file_path):"""文件处理示例函数"""file Nonetry:file open(file_path, r, encodingutf-8)data json.load(file)if not data:raise EmptyDa…...

Mybatis快速入门与核心知识总结

Mybatis 1. 实体类&#xff08;Entity Class&#xff09;1.1 实体类的定义1.2 简化编写1.2.1 Data1.2.2 AllArgsConstructor1.2.3 NoArgsConstructor 2. 创建 Mapper 接口2.1 Param2.2 #{} 占位符2.3 SQL 预编译 3. 配置 MyBatis XML 映射文件&#xff08;可选&#xff09;3.1 …...

畅聊deepseek-r1,SiliconFlow 硅基流动注册+使用

文章目录 SiliconFlow 硅基流动注册使用注册创建API密钥使用网页端使用代码调用api调用支持的模型 SiliconFlow 硅基流动注册使用 注册 硅基流动官网 https://cloud.siliconflow.cn/i/XcgtUixn 注册流程 切换中文 ​ 邀请码&#xff1a; XcgtUixn 创建API密钥 账户管理 --&g…...

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码及效果展示

一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码示例&#xff0c;使用Arduino语言&#xff1a; 硬件连接 INMP441 VCC → ESP32的3.3VINMP441 GND → ESP32的GNDINMP441 SCK → ESP32的GPIO 17INMP441 WS → ESP32的GPIO 18INMP441 SD → ESP32的GPIO 16RG…...

Springboot 中如何使用Sentinel

在 Spring Boot 中使用 Sentinel 非常方便&#xff0c;Spring Cloud Alibaba 提供了 spring-cloud-starter-alibaba-sentinel 组件&#xff0c;可以快速将 Sentinel 集成到你的 Spring Boot 应用中&#xff0c;并利用其强大的流量控制和容错能力。 下面是一个详细的步骤指南 …...

访问Elasticsearch服务 curl ip 端口可以 浏览器不可以

LINUX学习 在虚拟机上面的linux上面用docker 部署Elasticsearch项目后&#xff0c;在linux系统内部用curl ip 端口地址的形式可以访问到Elasticsearch。可以返回数据。 但是在本机的浏览器中输入ip 端口&#xff0c;会报错&#xff0c;找不到服务。 ping 和 trelnet均不通。 …...

Curser2_解除机器码限制

# Curser1_无限白嫖试用次数 文末有所需工具下载地址 Cursor Device ID Changer 一个用于修改 Cursor 编辑器设备 ID 的跨平台工具集。当遇到设备 ID 锁定问题时&#xff0c;可用于重置设备标识。 功能特性 ✨ 支持 Windows 和 macOS 系统&#x1f504; 自动生成符合格式的…...

人工智能与低代码如何重新定义企业数字化转型?

引言&#xff1a;数字化转型的挑战与机遇 在全球化和信息化的浪潮中&#xff0c;数字化转型已经成为企业保持竞争力和创新能力的必经之路。然而&#xff0c;尽管“数字化”听上去是一个充满未来感的词汇&#xff0c;落地的过程却往往充满困难。 首先&#xff0c;传统开发方式…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...