`
kiki1120
  • 浏览: 314489 次
  • 性别: 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.rar_vb.net_考试VB.net

    VB.NET是Microsoft公司推出的.NET框架下的一种面向对象的编程语言,它是Visual Basic的现代版本,具有更强大和灵活的功能。VB.NET集成了.NET Framework的所有优势,包括类型安全、垃圾回收、异常处理和丰富的类库...

    vb.net 五子棋源代码

    总结而言,"vb.net 五子棋源代码"的学习涵盖了VB.NET的基础语法、面向对象编程、事件驱动编程、UI设计以及文件操作等多个方面。通过分析和理解这段代码,开发者不仅可以提升VB.NET编程技能,还能深入了解游戏开发的...

    vb.net所有内容帮助文档

    ### vb.net所有内容帮助文档知识点概览 ...以上内容涵盖了 vb.net 帮助文档的主要知识点,包括但不限于编程基础、应用程序开发、面向对象编程、数据处理等多个方面,为开发者提供了全面的技术指南和支持。

    微软C# .Net 课件PPT资料

    .NET Framework使得跨语言开发成为可能,并且支持多种语言,如C#、VB.NET、C++/CLI等。 **C#的关键特性** 1. **面向对象编程**:C#支持类、接口、继承、多态等面向对象编程概念,让代码更加模块化和可维护。 2. *...

    .net 3.5写的五子棋程序

    首先,.NET 3.5是微软开发的一款面向对象的编程框架,它包含了丰富的类库和工具,为开发人员提供了强大的支持。在.NET 3.5下编写五子棋程序,通常会利用C#或VB.NET这两种主要的编程语言。C#以其简洁的语法和高效的...

    2013年VB上机最新题库(费了好大劲搞来的)

    2. **对象和控件**:VB是一种面向对象的编程语言,常见的控件如Label、TextBox、Button等,理解它们的属性、方法和事件是编程的关键。 3. **事件处理**:VB中的事件驱动编程是通过响应用户操作或系统事件来执行代码...

    微软编程标准规范(含C++/VC/C#)

    ### 微软编程标准规范(含C++/VC/C#)知识要点 #### 概览 本文档旨在为微软一站式代码示例库项目组提供一套详细的C++、C#及VB.NET编程规范指南。这份规范源于多年的软件开发经验,并不断地进行优化与改进。 #### ...

    进入IT企业必读的200个+.NET面试题.pdf )

    - 本章深入探讨了.NET类型语法的基础知识,包括类型和语法的基本概念、内存管理、面向对象编程的原则等。 #### 第4章 字符串、集合和流的使用 **4.1 字符串处理** - **4.1.1 System.String是值类型还是引用类型?...

    金文主讲计算机二级Visual Basic 程序设计教程

    VB主要应用于Windows平台上进行桌面应用程序的开发,但随着.NET技术的发展,现代的VB版本(如***)则是完全集成到.NET框架中,支持面向对象的编程和网络应用程序的开发。 金文的这套教程包括了计算机二级VB考试要求...

    [Visual.Basic.2008高级编程(第5版)].(美)伊夫杰,郝利斯.扫描版.pdf

    Visual Basic 2008(简称VB 2008)是微软公司推出的面向对象的编程语言,是Visual Basic的一个版本,相较于之前的版本,在.NET平台上有了很大改进。本篇内容将深入解析《Visual Basic 2008高级编程(第5版)》一书中...

    C#复习要点

    - **支持的语言**:除了C#,还支持VB.NET、F#等多种编程语言。 - **CLR(Common Language Runtime)**:公共语言运行时是.NET框架的核心组件之一,负责内存管理、线程管理和安全控制等,确保了不同语言之间的互操作性...

    C#微软培训教材

    - **9.4 面向对象的设计**:讨论面向对象系统设计的原则和模式。 - **9.5 小结**:总结面向对象编程的关键思想。 ##### 第十章:类 - **10.1 类的声明**:介绍如何声明类及其成员。 - **10.2 类的成员**:讨论类中...

    C#网络应用编程基础练习题与答案

    根据提供的文件信息,以下是对C#网络应用编程基础练习题及其相关知识点的详细解析: ...以上就是对C#网络应用编程基础练习题的详细解析,希望能帮助初学者更好地理解和掌握C#编程的基础知识和技术要点。

    C#教程-unprotected

    根据给定文件的信息,我们可以提炼出以下相关的C#知识点: ### C# 语言概述 **1.1 Microsoft .NET ...这些知识点不仅涵盖了C#的基础知识,还深入探讨了一些高级主题和技术要点,为后续的学习和实践打下了坚实的基础。

    C#完全中文手册

    ### C#完全中文手册知识点...以上是对《C#完全中文手册》的部分内容进行的知识点提取和概括,涵盖了C#语言的基础知识、面向对象编程、高级主题等多个方面,旨在帮助读者系统地学习C#语言,并掌握实际开发所需的技能。

    Visual C++ 2005入门经典--源代码及课后练习答案

    9.1 面向对象编程的基本思想 440 9.2 类的继承 441 9.2.1 基类的概念 442 9.2.2 基类的派生类 442 9.3 继承机制下的访问控制 446 9.3.1 派生类中构造函数的操作 448 9.3.2 声明类的保护成员 452 ...

Global site tag (gtag.js) - Google Analytics