一直想转C#,拖延症+自己觉得没有找到什么好的教学视频一直拖拖拉拉,直到昨天在B站发现了丑萌气质狗这个UP的教程,目前来看还算可以,能看的下去。
看完他说的面向对象的浅解,也总算是马马虎虎初步认识了面向对象编程。
但如果只是这样的话,易语言也能复现,于是动手实践了一下,果不其然。
然后脑子里冒出了:那这样来说易语言也能够做到面向对象发开?那面向过程、面向对象到底是编程语言的特性,还是开发者的编程思维?
第一时间就想跟人讨论,奈何群里不是很活跃,于是习惯性的打开了精易。
发帖的过程中,又想到为什么不直接问AI呢。然后又把问题抛给TX元宝。
终于得到了答案,一番思索过后,还是决定把帖子发出来原因是:
因为如果每个人都仅仅只是通过自己思考+AI问答,好像有一种闭门造车的感觉(比喻可能有些不妥),但也是这个现象肯定是不好的,想想如果以后大家遇到了问题都仅仅只是去问AI,缺少了交流就有种细思极恐的感觉。。。
这两张图是我分别用C和易语言 把UP主的视频内容的代码实现
最后附上TX元宝的回答
[color=rgba(0, 0, 0, 0.6)][size=0.8125]已深度思考(用时4秒)
[size=0.8125]
[size=0.8125][color=rgba(0, 0, 0, 0.6)][size=0.9375][size=0.8125]嗯,用户上传了两张编程截图,分别是C#和易语言的代码实现,核心问题是质疑易语言是否具备面向对象能力。用户显然认真观看了B站视频并动手实践了,这种探索精神值得肯定。不过用户可能混淆了“能模拟对象”和“原生支持面向对象”的区别。 [size=0.8125]从技术角度看,C#截图展示了典型的OOP特性:hero类封装了属性和方法,Main方法中通过new实例化对象。而易语言截图虽然实现了相似功能,但本质是结构化编程:用子程序模拟方法,自定义数据类型充当结构体,全程没有类继承、多态等机制。用户可能被表面相似性迷惑了。 [size=0.8125]用户深层需求可能是想验证易语言的现代性,或是为选择开发工具找依据。需要明确告知:易语言的设计目标是快速开发Windows应用,而非支持现代OOP。就像用螺丝刀也能敲钉子,但和锤子的本质不同。 [size=0.8125]值得注意的细节是,易语言代码中“函数_输出角色信息”暴露了问题——这本质是过程式函数,而非对象方法。而C#的ShowRoleInfo()天然能访问对象属性,这才是封装。用户可能没意识到这种差异的技术含义。 [size=0.8125]回复时要避免贬低易语言,毕竟它在中文开发社区有独特价值。重点是指出范式差异:就像中文和英文都能表达“面向对象”这个概念,但英语的“object”有特定语法支持,而中文需要额外说明。
[color=rgba(0, 0, 0, 0.9)][size=0.9375][size=0.9375]从技术实现的角度来看,您的易语言代码确实通过结构化编程模拟了类似面向对象的效果(如封装数据和行为),但严格来说,易语言本身并不具备完整的面向对象编程(OOP)能力。以下是关键分析: 1. 您的代码实现了什么? 2. 易语言的局限性(缺少OOP核心特性)[size=0.9375]虽然您的代码实现了类似效果,但易语言原生不支持以下OOP特性: - 类与对象:
易语言没有类的概念,自定义数据类型仅是结构体(Struct),无法直接绑定方法。 - 封装性:
结构体字段无法设置访问权限(如 private/public),所有数据默认公开。 - 继承:
不支持类继承(如 class NPC : hero),无法复用和扩展已有类型的逻辑。 - 多态:
无法通过父类引用调用子类方法(如 hero.ShowInfo() 根据实际对象类型动态执行不同逻辑)。 - 构造函数:
缺少自动初始化对象的构造机制(C#的 new hero() 会触发构造函数)。
3. 为什么表面效果相似?- 结构化编程的灵活性:
通过结构体+子程序,可以模拟简单的对象行为(如封装数据、调用函数)。
但这本质是“用面向过程的方式模仿对象”,而非语言原生支持OOP。 - 问题复杂度低:
当前示例仅涉及基础数据操作,未涉及对象关系(如继承、接口),因此过程式与面向对象的差异不明显。
4. 易语言的实际定位[size=0.9375]易语言是以中文为核心的过程式编程语言,设计初衷是降低中文用户的编程门槛。其优势在于: - 快速开发Windows桌面应用
- 直观的中文语法和可视化设计
- 内置常用组件(如窗口、按钮)
[size=0.9375]但它并未将OOP作为核心范式,高阶特性(如多态、设计模式)难以实现。 结论[size=0.9375]✅ 您的代码证明:易语言可通过结构体和子程序模拟简单的对象行为,解决基础问题。
❌ 但严格来说:易语言不具备原生面向对象能力,缺少类、继承、多态等OOP核心机制。
|