对象就是能看到,感到,听到,触摸到,尝到或闻到的东西,在这里我们这样“定义”:对象是一个自包含的实体,用一组可识别的特性和行为来标识。
在面向对象的编程(oop)的编程方式,用使用下面的两个术语。 类:这是对象的模板,定义了对象的特性。 实例:这是一个真实的对象,可以与之交互的东西。
属性,方法和事件
在OOP中,下面的术语描述对象的特性。 属性:这是一个名次,描述了某个对象的属性 方法:这是一个动词,描述了对象可以完成的工作,或者希望它完成的工作。 事件:描述了对象为相应某个动作而执行的操作。
.net中的对象 在.net中,其实所有的东西都是对象。为什么要使用对象?
在编程时,对象的面向对象编程和面向对象设计的一部分,它们具有非常大的优势,许多人认为这是一个复杂的主题,但实际上,它非常简单,可以用四个简单的术语来解释:抽象、封装、多态和继承。
抽象:这是一个隐藏复杂性,类的内部工作情况,所以用户不必知道它的运作方式,就像。如果想要看电视,就不必知道电视机时如何工作的,只需打开电视机,搜索频道即可,on/off开关抽象了实际的操作,在string例子里,有一个trim方法,它可以删除字符串尾部的空格,同样不需要知道他是如何完成这个任务的,只要知道它有这个功能即可。
封装:每个对象都包含进行操作所需要的所有信息,这个对象称为封装,因此对象不比依赖其他对象来完成自己的操作,在术语TOupper()方法中,string不必到其他地方获取信息来把所有的字符转换为大写。
多态:这个术语用于表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行,名称一样,但底层实现的代码是不一样的。
继承:它定义了类如何相互关联,共享特性的,继承的工作方式是,定义类和子类,其中子类继承了父类的所有特性,继承的重要性是,它迫使类型相似的类具有一致性,并允许共享代码,如果决定创建一个新类,就不必定义父类的所有特性。
好了,我们看个实例吧,创建一个user类,他具有一下特性: 属性:name ,point,level 方法:post(),reply(),change() ok,现在在你的webmatrix里面创建吧。
看看以下源码:
public class user
public sub new() end sub
private _name as string private _point as integer private _level as string
public property name as string
get return _name end get
set(byval value as string) _name=value end set
end property
public property point as integer get return _point end get
set(byval value as integer)
if value<0 then value=0 end if _point=value
end set
end property
public property level as string
get return _level end get
set(byval value as string) _level=value end set
end property
end class
这里定义的就是上面我们想要的,注意,如果你以前不了解一门面向对象设计的语言的话理解起来比较困难的。创建实例的是:
sub page_load(sender as object,e as eventargs) dim blueidea as new user() blueidea.name="5do8" blueidea.point="5000" blueidea.level="终极会员"
name.text=blueidea.name point.text=blueidea.point level.text=blueidea.level end sub
html视图还是注意ID写上3各label控件就ok了,可以看到效果: name: 5do8
point:5000
level:终极会员
代码分析如下:
1、首先用class关键字定义类,后面是类名,而public是表示可以用于其他的程序; 2、然后是构造函数,new(),如果不写的话也行,因为,net默认提供构造函数的,这和c++里面的一个模式; 3、定义私有变量,用来存储类的属性,这些变量在代码的外部不能访问,如何使用这些变量,就要使用property语句即可;
public property name as string get return _name end get
set (byval value as string) _name=value end set end property
第一行里面的public声名在外部可以访问,property声明一个属性,它后面是属性的名及其类型。get返回私有变量的值,这是内部机制,接下来的set语句,在属性中存储一个值时执行这个语句,这里仅仅把私有属性设置为参数传送的值,set 语句有些像方法调用,只传一个参数,该参数在设置属性时由.net自动赋值。 ..........其他的依次同理....最后是结束类end class。
创建实例的时候:
dim blueidea as new user() blueidea.name="5do8" blueidea.point="5000" blueidea.level="终极会员"
第一行创建user类的一个实例,名称是blueidea。接下来是设置它的属性值。最后绑定在web控件上。
这就是一个很简单的使用类的实例,但不像c++那样,asp.net好像没有提供析构函数释放一些不必要的内存占用等。
另外,高级类属性和方法就不说了,很多,慢慢的在实践中应该可以掌握的。
出处:蓝色理想
责任编辑:moby
上一页 事件驱动编程和回送 下一页 在asp.net(vb)中使用ADO.NET
◎进入论坛网络编程版块参加讨论
|