`
kiki1120
  • 浏览: 306876 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

VB.Net 知识要点:(3) 数组和面向对象

    博客分类:
  • .Net
 
阅读更多

一、数组


一维数组定义
Dim 数组名(n) As 数据类型,注意n是数组中的最大索引值,不是数组元素个数,索引值必须从0开始
定义并赋值
Dim 数组名()={元素0数据,元素1数据,...,元素n数据}
调整数组元素个数使用ReDim命令,重新定义数组,而原数组元素中的数据将会丢失,除非使用Preserve命令
ReDim Preserve A(29) As Integer

 

二维数组定义
Dim 数组名(,)={{第0列数据},{第1列数据},...,{第n列数据}}

 

随机
Rnd() 生成0~1之间的随机数
产生N~M的随机数Rnd()*(M-N+1)+N
产生1~100之间的整数随机数Int(Rnd()*100+1)
必须先用Randomize()重置随机数表的起点,否则将会出现相同的随机数

 

排序
Array.Sort(数组名) 将一维数组的元素由小到大递增排序
Array.Sort(数组名1,数组名2) 二维数组时先按数组1递增排序,当元素相同时按数组递增排序

 

最大值与最小值
数组名.Length 获取数组元素个数
UBound(数组名) 获取数组最后一个元素的索引值
先将数组排序,最小值为索引0,最大值为索引UBound(数组名)

 

搜索
第一种循序搜索法(适合数据较少时使用)
第二种二分搜索法
第三种Array.IndexOf(数组名,搜索条件,搜索起始索引值),返回索引值


子程序
第一种
Sub 子程序名(p)
 ...
End Sub
特点:没有返回值,跳出子程序可用Exit Sub
第二种
Function 函数名(p)
 ...
End Function
特点:可以有返回值(函数名=表达式),跳出函数可用Return或Exit Function,前者能返回表达式结果,后者不能
第三种:专门用来创建存取类属性的结构
Public Property p1 As Integer
Get
 Return x1
End Get
Set(ByVal value As Integer)
 x1=value
End Set
End Property
特点:可在Property前加上ReadOnly只读和WriteOnly只写属性,只读属性中只有Get,只写属性中只有Set
第四种
Event
一个模块可以有多个子程序,只要名称不重复即可,不同模块中可以使用相同子程序名称。
调用子程序可用Call 子程序名称()或者直接写子程序名称()

 

参数传递
ByVal 传值调用(可省略),将变量值传递给子程序,当子程序变量值改变时不影响主程序变量值
ByRef 传址调用,将变量对应的内存地址传递给子程序,当子程序变量值改变时,主程序变量值随之改变
如果传递的参数是数组,那么不管指定ByVal还是ByRef都会以传址调用的方式来传递参数

 

内置函数
(1)Math数学类:Abs(绝对值)、Atan、Cos、Exp(指数)、Log(对数)、Round(四舍五入)、Sign(判断正负)、Sin(正弦函数)、Sqrt(平方根)、Tan
(2)数值函数:Fix(返回整数舍去小数)、Hex(转成十六进制)、Int、Oct(转成八进制)、Rnd、Randomize
(3)检查数据类型函数:IsArray、IsDate、IsNumeric
(4)转换数据类型函数:Asc或AscW、CBool、CByte、CChar、CDate、CDbl、CDec、CInt、CLng、CObj、
CShort、CSng、CStr、CType、Chr或ChrW、Str、Val
(5)日期时间函数:DateAdd、DateDiff、DatePart、DateSerial、DateString、DateValue、Day、Hour、
Minute、Month、MonthName、Now、Second、TimeOfDay、Timer、TimeSerial、TimeString、TimeValue、
Today、WeekdayName、WeekDay、Year
(6)数组函数:LBound、UBound
(7)字符串函数:Filter、InStr、InStrRev、Join、Lcase、Left、Len、LTrim、Mid、Replace、Right、
RTrim、Split、StrComp、StrConv、StrDup、StrReverse、Trim、Ucase
(8)字符串类:Compare、CompareTo、Concat、Copy、EndsWith、Equals、IndexOf、Insert、LastIndexOf、
Length、PadLeft、PadRight、Remove、Replace、Split、StartsWith、SubString、ToCharArray、ToLower、
ToString、ToUpper、TrimEnd、TrimStart

 


二、面向对象



Class 类名
 '定义属性和方法
 Private ... 私有
 Public ... 公有
 Protected ... 公有,在同一类或子类中可用
 
 '创建存取属性结构
 Public Property p1 As Integer
 Get
  Return x1
 End Get
 Set(ByVal value As Integer)
  x1=value
 End Set
 End Property
End Class

 

构造函数,无返回值
Sub New(ByVal x As Integer)
 ...
End Sub

构造函数允许衍生类重载,重载时使用MyBase命令指定重载哪一个构造函数
衍生类的构造函数
Sub New(ByVal dx As Integer)
 MyBase.New(dx)
End Sub
使用MyBase还可以访问基础类的公有数据成员MyBase.x1

 

释放对象
Erase 对象名 将对象解析,释放内存

 

静态组件
Shared cc As Integer 定义静态组件
使用含有静态变量的类所创建的对象彼此可以共同存取同一个静态组件

 

继承
在衍生类{}中第一行Inherits Area,表示该类继承自基础类Area
Public NotInheritable Class Area_pu,表示该衍生类不能被继承

 

重载
在基础类中要被重载的方法使用Overrideable修饰
Overrideable Function 方法名 As 返回值类型
在衍生类中要重载的方法使用Overrides修饰
Overrides Function 方法名 As 返回值类型

 

抽象类
是指无法直接创建对象只能通过继承来创建衍生类的一种特殊类
MustInherit Class area
 Public bottom As Integer
 Public height As Integer
 Overridable Function get_area() As Integer
 End Function
End Class
创建衍生类
Public Class area_pu
 Inherits area
 Public Sub New()
  ...
 End Sub
 Public  Overrides Function get_area() As Integer
  getarea=bottom*height/2
 End Function
End Class

 

接口
与抽象类相似的结构,差异是接口中只能声明抽象方法,而无法声明一般方法
Interface area
 Function get_area() As Integer
End Interface
利用接口来产生新类的过程称为接口的实现
Class area_as
 Implements area
 Public k1 As Integer
 Public k2 As Integer
 Sub New()
  k1=20
  k2=30
 End Sub
 Function get_area() As Integer Implements area.get_area
  Return k1*k2
 End Function
End Class

 

多重继承
是指继承两个以上的类
衍生类可继承自基础类A和基础类B
衍生类X可继承自衍生类A和衍生类B
类可继承自接口A和接口B,Implements area, color

 

分享到:
评论

相关推荐

    VB.NET学习实例猜数字算法,vb.net 猜数字 动态控件数组运用

    VB.NET学习实例猜数字算法,vb.net 猜数字 动态控件数组运用

    vb.net像VB6一样使用控件数组

    vb.net像VB6一样使用控件数组 像VB6一样用来保存对像的index值

    VB.NET二维数组快速排序(更新)

    VB.NET二维数组快速排序(更新) 'OldArrays(),为排序二维数组;NewArrays(),为存放结果数组,SortColumnsOrOrders(),传递排序参数数组,偶数个为排序列号,奇数为升降序,0为升序,1为降序;FieldRow,是否有字段行...

    VB.Net程序设计:制作自己的分隔线控件(LineH、LineV)

    VB.Net程序设计:制作自己的分隔线控件(LineH、LineV)水平分隔线 LineH.vb,垂直分隔线 LineV.vb的完整代码 http://blog.csdn.net/linjimu/archive/2006/08/15/1065745.aspx

    vb.net2010代码创建控件数组

    vb.net界面上不支持控件数组,但是可以通过代码创建控件类型的数据变量,并在代码中赋予其各个属性值,来完成控件数组的创建。 相信对于使用过VB6.0的朋友们会有些帮助。

    VB.NET做空间数组

    VB.NET 下做控件数组 VB.NET里是没有控件数组,但一样可以实现控件数组的效果。

    删除数组重复元素(VB.NET)

    VB.NET删除数组中的重复元素,包括源码和可执行程序,已在VS2005中测试通过。

    vb.net设计的:自动运行任务计划

    一位朋友说。他的电脑要每一个小时自动打开一个程序。想到用系统自带的那个任务计划。达不到我要的效果。于是自己写一个这样的程序。...程序和界面说明:http://blog.csdn.net/linjimu/archive/2008/10/06/3023532.aspx

    VB.Net程序设计:自动关机程序

    自动关机,在关机前一分钟会提示。可以注销,重启,关机。 VB.Net。在win2000 vs2005测试通过。 界面用法:http://csdntestimg.hi.csdn.net/app_uploads/linjimu/20090419/212309657.p.png

    VB.NET Step By Step系列课程(5):VB.NET中的面向对象编程 (Level 200)

    在系列课程上一讲的基础上,本课程以用VB.NET2005开发具体应用为例子,详细介绍在VB.NET环境中如何运用面向对象的方法来组织工程,编写程序。所涉及的内容包括:定义和使用类,创建对象和实例,运用继承和接口等。...

    VB.Net程序设计:读取ini文件和读取xml文件的例子

    VB.Net读取ini文件的例子,和读取xml文件的例子。两种方法的比较。建议还是用Xml比较好。System.Xml

    ASP.NET3.5入门经典:涵盖C#和VB.NET(第5版)pdf

    《ASP.NET3.5入门经典:涵盖C#和VB.NET》(第5版)是一本非常好的ASP.NET入门书籍。《ASP.NET3.5入门经典-涵盖C#和VB.NET》以建立一个实际的Web站点为主线,从最初的没有任何功能的简单站点开始,然后逐步增加功能和...

    vb.net入门学习资料.doc

    3.新建一个vb.net项目 4.编写第一个vb.net应用程序 第二部分 vb.net的语法部分 1.vb.net的Numeric数据类型 2.vb.net的Byte数据类型 3.vb.net的String数据类型 4.vb.net的Boolean数据类型 5.vb.net的Date数据...

    ASP.NET 4高级编程:涵盖C#和VB.NET(第7版).part2.rar 第二部分 高清 带目录

    《ASP.NET 4高级编程:涵盖C#和VB.NET(第7版)》内容简介: 在创建快速、安全的Web应用程序时,ASP.NET可以帮助您尽 可能高效地完成该任务。ASP.NET的每次版本更新都会较前一 版本有所改进,去除之前需要编写的许多...

    vb.net 控件数组演示

    vb.net 控件数组演示。。。。。。。。。。。。。。

    vb.net 第五章 数组

    vb.net数组,包括课本上的全部例题原代码及教学课件

    vb.net开发实例_VB.net教程_VB.NET系统_vb.net_

    vb.net学习教程:visual basic.net入门,工程管理,visual basic.net语言体系结构,visual basic.net的常用控件,应用程序界面,visual basic.net的ODP结构。

    VB.net(VB2010)自动更新程序

    此文件为源代码,VB2010编写,可是实现程序自动更新,把这个程序的文件打包到安装文件里,用AppStart启动程序,自动下载配置文件比较服务器与本地的是否相同,如果不相同则下载服务器文件替换本地文件然后启动真正的...

    ASP.NET 4.5入门经典:涵盖C#和VB.NET(第7版) 源码

    这是第六版的介绍《ASP.NET 4入门经典:涵盖C#和VB.NET(第6版)》内容简介:ASP.NET是.NET Framework的一部分,用于构建内容丰富的动态Web站点。其最新的版本ASP.NET 4对上一版进行了许多改进,包括增强了Web窗体,并...

    VB.NET 计算器增强版

    初学VB.net 上次发了一个VB.net 2008 做的计算器,这回对上次那个计算器进行了升级,增加了许多功能(有些功能其实对于计算器来说没有必要,但我只是为了学习VB.net,所以把常用的控件几乎都在这个计算器实现了一下!...

Global site tag (gtag.js) - Google Analytics