递归火山软件开发平台

标题: 菜鸟教菜鸟,静态成员和静态方法 [打印本页]

作者: Fang0x378    时间: 2021-2-6 10:29
标题: 菜鸟教菜鸟,静态成员和静态方法
本帖最后由 Fang0x378 于 2021-2-7 08:20 编辑

类和对象,成员静态和静态方法初学时我也搞不懂,现在基本理解了什么是静态成员和静态方法。看到有人有和我当初一样的疑惑,我来说说我是怎么理解的。抛砖引玉,欢迎大家补充,如果我说错了,请大佬们帮忙指正。

1.类就是一类东西的统称,“苹果类”,“橘子类”,“猪类”,“狗类”都是一个类,不是具体的一个东西。
2.对象是一个具体的东西,类实例化了就是对象,建一个变量就是类的实例化。比如有一个类叫“狗类”,我家的狗是一个对象,叫“我的狗”,你家的狗也是一个对象,叫“你的狗”。它们是一个实实在在的东西。
3.类的成员。类有好多成员,狗也有好多属性,比如“大小”,“年龄”,”颜色“,你的狗有这些属性,我的狗也有。这些属性是跟随对象的,每一条“狗”都有这些属性。这些属性可以理解为类的成员
4.静态成员,静态成员属于类本身的,而不再属于对象了,就是说具体的实物不可以拥有这个属性了。
比如说“狗类”有一个成员变量叫做“地球上狗的数量”,这个成员变量是地球上所有狗之和,不可能你的狗有“地球上狗的数量”这个属性,我的狗也有吧?没必要也不符合逻辑。那么这个“地球上狗的数量”这个成员就可以设置为静态成员,属于“狗类”,不再是具体的狗的属性了。但是每一只狗都知道“地球上狗的数量”,并且答案都是同一个数。
5.类的方法也类似
“狗类”一个公开方法叫“今天吃了几根骨头()”,返回今天吃的骨头的数量,你的狗吃了几根骨头只有“你的狗”知道,如果我想知道就得问你的狗,就这样用: 你的狗.今天吃了几根骨头()  ,如果这样用:他的鞋子.今天吃了几根骨头() ,那就不行,你要针对性的问具体的对象。
6.静态方法,如果狗类很聪明,会做加法运算,他们有一个方法“加法运算(数值1,数值2)”,返回加法结果。我们只想知道加法运算的结果,不关心也不想知道是哪一只狗算的,就可以将此方法静态并公开,这样在其他类就可以使用 "狗类.加法运算(数值1,数值2)"。
如果狗类设置为“全局类”,可以直接使用 “加法运算(数值1,数值2)”。
7.取程序(),就是到启动类,可以访问启动类里的公开成员。这样就可以跨类访问对象。比如把窗口1,窗口2,窗口3 放到启动类公开,就可以在任何地方通过 “取程序().窗口1”,“取程序().窗口2” ,“取程序().窗口3”访问。



作者: zqiz    时间: 2021-2-6 11:10
讲得很好,通俗易懂
作者: htpmcj    时间: 2021-2-6 15:54
不错!!!!
作者: 朕的    时间: 2021-2-6 17:10
火山缺少的就是这样的教程,应该主要针对易语言用户过度而专门建立课程。
作者: 伟业    时间: 2021-2-7 01:00
        很形象
作者: yifan790    时间: 2021-2-7 09:45
真牛逼,我抠唆官方教程几天才稍明白,你这通俗易懂
作者: 悠然品茗    时间: 2021-2-7 10:30
通俗易懂,谢谢分享。
作者: lijianye    时间: 2021-2-7 12:27
很给力,希望有大牛点评一下他的理解是否正确
作者: wrx198728    时间: 2021-2-9 22:38
静态=全局成员
类的静态成员 就是这个类以及所有的成员 共同使用的变量  A类改变后 B类也会改变
类的静态函数也差不多




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4