• 【剑仙教程】易语言的结构体。自定义数据类型。



    1楼. 【剑仙教程】易语言的结构体。自定义数据类型。
    在易语言中,有基本数据类型,自定义数据类型。
    自定义数据类型,在C语言/C++中称为结构体。这是面向对象和类的编程。
    .
    .
    先上代码。打开易语言的IDE,IDE,是开发环境。
    点击“插入”菜单,选择“数据类型”
    这时,代码编辑框就会增加一个数据类型的窗口。
    把“数据类型1”命名为“精易_座标”,勾选“公开项”。
    这样,一个 精易_座标 的类就做好了。
    .
    再按回车键,给这个类增加2个成员。
    x 整数型
    y 整数型
    .
    访问时,直接写代码就OK。这些操作是不是很简单?
    精易_座标.x = 100
    精易_座标.y = 101 
    输出调试文本(精易_座标.x)
    输出调试文本(精易_座标.y)
    .
    2楼. 下面详细讲解。
    .
    【结构体的作用】
    结构体具有基本数据类型, 一样的功能。
    它有一个最强项,打包功能。
    结构体可以把,多个小数型,整数型,文本型,字节型,字节集打包成一个类,
    方便日后的调用。
    //
    //
    结构体的好处不是简便,而是封装。
    封装的好处,在于可以再次调用,重复调用。
    这样可以让使用者不必关心这个类是什么,
    只需要根据定义来使用就可以。
    ====================================================
    .
    结构体是把很多种基本的数据类型,归纳为一个类来管理。
    (面向对象和类的编程)
    .
    .
    在C语言中,
    结构体声明了一个具有某种属性的类,可以用它定义具有这属性的变量,
    属性值由一个或多个同种或不同基本类型(包括联合类型、枚举类型、数组、其他结构体)组成。
    结构体类型,可以把不同类型的变量归纳到一起,以方便管理。
    .
    3楼. 举三个实例。
    .
    .
    例子1:
    一批学生去参加军训,
    生活物品要打包成包裹,
    收集到车厢,
    到达目的地再分发。
    .
    把所有学生的 牙膏,牙刷,杯子,毛巾统一归类,做成一个包。
    衣服统一归类,打成一个包。
    被子统一归类,打成一个包。
    这样自然不行。违反卫生要求又不斯文,而且难分发。
    //
    //
    实际上,每个学生都是一个对象。把每个对象的东西打成一包
    (牙膏,牙刷,杯子,毛巾,衣服,被子,鞋子 ),贴上姓名标签。
    再把这些包裹,统一收集到车厢汇总。
    去到目的地,再分发。这样就变得简单了。
    //
    //
    按照这个操作方法,
    把学生01的物品,打包成一个数据类型,贴上标签。
    .数据类型 学生01,公开
    .成员 牙膏, 整数型
    .成员 牙刷, 整数型
    .成员 杯子, 整数型
    .成员 毛巾, 文本型
    .成员 衣服, 文本型
    //
    把学生02的物品,打包成一个数据类型,贴上标签。
    .数据类型 学生02,公开
    .成员 牙膏, 整数型
    .成员 牙刷, 整数型
    .成员 杯子, 整数型
    .成员 衣服, 文本型
    .成员 被子, 文本型
    //
    把学生03的物品,打包成一个数据类型,贴上标签。
    .数据类型 学生03,公开
    .成员 牙膏, 整数型
    .成员 牙刷, 整数型
    .成员 杯子, 整数型
    .成员 衣服, 文本型
    .成员 鞋子, 字节型
    ……
    ……
    学生01,学生02,学生03这些编号,相当于包裹上面的标签。
    //
    //
    再右键,新建数据类型,做一个车厢_包裹汇总。
    2楼讲到,结构体里面的成员可以是结构体。
    刚才 学生01,学生02,学生03这些都是结构体,现在新建的 车厢_包裹汇总 也是结构体。
    .
    .数据类型 车厢_包裹汇总,公开
    .成员 a01, 学生01
    .成员 a02, 学生02
    .成员 a03, 学生03
    这样 a01 就有了“学生01”的属性。a01=学生01,,可以这样理解。
    //
    //
    调用时,建立一个局部变量“as”,数据类型定义为“车厢_包裹汇总”。
    这样 as 就带有了“车厢_包裹汇总”的属性。
    as=车厢_包裹汇总,,可以这样理解。
    .
    as.a01.杯子 = 100
    输出调试文本(as.a01.杯子)
    这样就OK了。
    //
    //
    as.a01.杯子 = 100
    刚才把“学生01”的属性,赋值给 a01变量。
    把 “车厢_包裹汇总”的属性,赋值给 as变量。
    上面代码的意思,可以理解成
    车厢_包裹汇总.学生01.杯子 = 100
    .
    4楼. 例子2:
    在一家商店,每天都有不同的顾客来购物。
    每个买家都买了4件同样的东西, 酱油 大米 黄豆 绿豆
    这样, 就可以用一个结构体来管理。
    这是结构体的嵌套用法。把一个结构体,做成另一个结构体的成员。在表单中经常用到。在游戏外.挂.中也经常用到。
    这些和例子1的做法是一样的。
    .
    .数据类型 出货单
    .成员 酱油, 小数型
    .成员 大米, 整数型
    .成员 黄豆, 字节型
    .成员 绿豆, 子程序指针
    .
    5楼. 例子3:
    windows api 大多数都会用到结构体。系统的API和结构体。
    函数原型:BOOL GetCursorPos(LPPOINT lpPoint)
    参数:
    IpPoint:POINT结构体指针,用结构体来接收光标的屏幕坐标。
    //
    //
    ‘数据类型。先自定义数据类型point,在下面的三个地方,都要用到point
    .版本 2
    .数据类型 point, , point
    .成员 x, 整数型, , ,
    .成员 y, 整数型, , ,
    //
    .版本 2 
    .DLL命令 GetCursorPos, 整数型, “user32.dll”, “GetCursorPos”
    .参数 当前位置, point
    //
    ‘在子程序中这样使用
    .版本 2
    .子程序 函数, 整数型
    .局部变量 当前座标, point
    GetCursorPos(当前座标)
    输出调试文本(当前座标.x)
    输出调试文本(当前座标.y)
    剑仙十号 5-12 07:32 回复  删
    6楼. 总结。
    结构体,是面向对象和类的编程。这是一门仿生学,在电脑中模拟真实的物理世界。
    它用来描述一个事物/一件事件的集合。
    .
    比如,用来形容某个人的真实信息。 
    名字,性别 ,身高 ,体重,学历, 年龄,
    这些参数组成的一个集合,用来描述一个人。
    这个人就是一个对象 ,这个对象里面有名字,性别 ,身高 ,体重,学历, 年龄这些信息。
    所以,在初始化一个结构体 对象参数的时候,
    必须一次给出所有的参数,即使没有给出具有实际意义的参数,也要把这些参数 赋值为0,赋值为“”。
    6楼学习,借鉴群主的资料。
    //
    //
    呵呵侠客60: 回复 说白了就 是把一堆变量堆到一起。
    简单易懂的理解。[真棒]
    //
    7楼. 为什么直接抄精易模块的代码?
    樉 5-9 16:24
    你会写对象吗?你会用类吗?你会JAVA?C++这些理论?用精易_座标举个例子而已。
    精易的,对新手来说好理解,印象深刻。某个新手见到精易座标,说不定找精易源码来学习,鼠标,键盘,找图,找色,找字识字这些的,,大大的有进步。
    .
    用精易_座标做例子,其实是深有考虑的。
    学习思维图像,学习记忆模型,
    好的讲师只用几条线条,简单的几句话,就让人把理论记住一辈子。
    .
    不好的讲师,他啰嗦啰嗦的讲半天,长篇大论,学生却在下面睡大觉。什么也没有学到。
    使用复杂,高强度的例子,反而不好记。
    //
    582828767: 回复 貌似没有见到过,详细介绍自定义类型 的教程,不过自定义类型的 确很重要。
    还好有c语言基础,直接就理解了。

  • 相关阅读:
    阿里云高防回源IP的限制
    塑料袋厚度一般几丝
    h3c v5系列 和v7系列 端口上的qos限速命令
    ikuai8爱快sdwan的测试。
    写给小白的开源编译器
    GitHub 毕业年鉴「GitHub 热点速览 v.22.20」
    SpringBoot学习笔记(六)——分页、跨域、上传、定制banner、Lombok
    SpringBoot学习笔记(七)——综合示例BookStore图书管理系统
    Nginx配置分段下载
    数据安全KMS
  • 原文地址:https://www.cnblogs.com/champion8/p/5569899.html
Copyright © 2020-2023  润新知