当前位置: 代码迷 >> VB Dotnet >> 请教关于类的实例化是不是这样理解
  详细解决方案

请教关于类的实例化是不是这样理解

热度:136   发布时间:2016-04-25 02:17:00.0
请问关于类的实例化是不是这样理解
Dim 孔乙己 As New 人类   
孔乙己.皮肤 = "黄色"
这样电脑就会认为孔乙己是地球人,是东方人,对吗?

那么为什么要用New这个词呢?如果写   Dim 孔乙己 As 人类  会怎么样?

------解决方案--------------------
Dim 孔乙己 As New 人类
相当于
Dim 孔乙己 As 人类
孔乙己 = New 人类

好比
Dim i As Integer = 100
相当于
Dim i As Integer
i = 100

引用类型必须调用构造函数才能创建对象,光写
Dim 孔乙己 As 人类
相当于
Dim 孔乙己 As 人类 = Nothing
------解决方案--------------------
接下去说孔乙己
分三步说
第一步
Dim 孔乙己 As 人类
意思就是0x00000011这个内存是孔乙己

第二步
Set 孔乙己 = New 人类()
意思就是0x00000011-0x0000003这块都归孔乙己用了

第三步
Dim 孔乙己 As New 人类 这个相当于 第一步+第二步,一种语法的简化写法。

基本就是这样,但是实际上要比这个复杂很多
  相关解决方案