Foxtable(狐表)用户栏目专家坐堂 → [讨论]请教,关于vb中的数学函数


  共有1927人关注过本帖树形打印复制链接

主题:[讨论]请教,关于vb中的数学函数

帅哥哟,离线,有人找我吗?
buckyohare
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:2 积分:93 威望:0 精华:0 注册:2020/7/11 10:59:00
[讨论]请教,关于vb中的数学函数  发帖心情 Post By:2020/7/13 22:38:00 [只看该作者]

今天看了教程里的“共享成员”。
我个人的理解,String是一个类,他有属性和方法,我们在使用String的共享成员Join时会这样写:

String.Join("\",Parts)

那么对于数学函数来讲,他们属于Math类,使用形式上和String的共享成员类似,为什么他们叫“函数”而不叫“共享成员呢?”

String类有属性,那么Math类有没有属性呢?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106566 积分:541995 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/13 23:10:00 [只看该作者]

说说我的理解:

1、类型是对象的概括性描述,类型实例化后才是对象。比如“人类”是一种描述,实例化后比如一个叫张三的人就是人类其中一个具体的对象。
2、string是一个类型,实例化后才代表一个具体的字符串,如:
dim s as string = "张三"
s变量是一个string类实例化后的对象,其值是“张三”。但是我们不能说string类的值是张三,类是一种概述,并不是所有字符串都是"张三"

3、属性和函数(或者叫方法,不同说法而已)一般是对象才有的,比如我们说张三这个人有眼睛,四肢等等,这些就是属性,描述对象的具体状态,但是不能说“人类”这个类有眼睛,四肢属性,比如某些残疾人就没有。

这些都是面向对象的概念,理论上类是不存在属性和函数的,也就是我们所说的“共享成员”,因为世界是不确定性的,总有意外。

但是,我们只是编个程序实现我们想完成的功能而已,我们不是神,也不是哲学家,管他那么多。我自己定义的类型,我就喜欢有“共享成员”,我定义的“人类”这个类就是有眼睛,四肢属性,那又怎么样?!

所以明白了么?Math类有没有属性,只是当时编写这个Math类的开发人员高不高兴而已,那有那么多为什么!您如果有能力完全可以扩展这个类型,自己加上任意属性......比如让数学也有眼睛图片点击可在新窗口打开查看

编程语言提供的各种语法,类型只是这种语言的一种约定俗成的用法而已,就当做公式一样记住即可。
[此贴子已经被作者于2020/7/13 23:10:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
buckyohare
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:2 积分:93 威望:0 精华:0 注册:2020/7/11 10:59:00
  发帖心情 Post By:2020/7/14 0:01:00 [只看该作者]

谢谢家人回复,这个人类的比喻挺形象呢,不过有一处我不太同意,我觉得类是有属性的,只是这个属性并不是具体的。就比如人类有一个属性叫“眼”,当我们实例化成张三的时候,会给这个属性一个默认值“有”,我们也可以在实例化后将这个属性设置成“无”。图片点击可在新窗口打开查看当然,我还是想搞明白为啥math类的那些数学函数不是方法。(我觉得函数和方法还是有区别的图片点击可在新窗口打开查看

 回到顶部