编程语言
C#编程语言基础
C#面向对象与多线程
C#数据及文件操作
JavaScript基础
JavaScript的数据类型和变量
JavaScript的运算符和表达式
JavaScript的基本流程控制
JavaScript的函数
JavaScript对象编程
JavaScript内置对象和方法
JavaScript的浏览器对象和方法
JavaScript访问HTML DOM对象
JavaScript事件驱动编程
JavaScript与CSS样式表
Ajax与PHP
ECMAScript6的新特性
Vue.js前端开发
PHP的常量与变量
PHP的数据类型与转换
PHP的运算符和优先规则
PHP程序的流程控制语句
PHP的数组操作及函数
PHP的字符串处理与函数
PHP自定义函数
PHP的常用系统函数
PHP的图像处理函数
PHP类编程
PHP的DataTime类
PHP处理XML和JSON
PHP的正则表达式
PHP文件和目录处理
PHP表单处理
PHP处理Cookie和Session
PHP文件上传和下载
PHP加密技术
PHP的Socket编程
PHP国际化编码
MySQL数据库基础
MySQL数据库函数
MySQL数据库账户管理
MySQL数据库基本操作
MySQL数据查询
MySQL存储过程和存储函数
MySQL事务处理和触发器
PHP操作MySQL数据库
数据库抽象层PDO
Smarty模板
ThinkPHP框架
Python语言基础
Python语言结构与控制
Python的函数和模块
Python的复合数据类型
Python面向对象编程
Python的文件操作
Python的异常处理
Python的绘图模块
Python的NumPy模块
Python的SciPy模块
Python的SymPy模块
Python的数据处理
Python操作数据库
Python网络编程
Python图像处理
Python机器学习
TensorFlow深度学习
Tensorflow常用函数
TensorFlow用于卷积网络
生成对抗网络GAN
类和对象是面向对象开发中两个非常重要的概念。
1. 创建类:
Class name
包含对象、方法、属性
End Class
在Class中,成员对象通过相应声明语句被声明为Private或Public,被声明为Private的成员将只在Class内有效,被声明为Public的成员不仅在内部有效,而且在Class外的代码中也有效。默认成员是Public。
在类的内部被声明为Public的过程和函数将作为类的方法,Public变量将成为类的属性,同使用Property Get、Property Let和Property Set显式声明的属性一样。类的缺省属性和方法是在声明部分用Default关键字指定。示例:
<%@Language=”VBScript” Codepage=”963”%>
<%
‘声明一个名asp_class的类
Class asp_class
‘声明一个类的私有变量
Private asp
‘初始化类(定义类的构造函数)
Private Sub Class_Initialize
asp=”欢迎使用ASP类<br>”
End Sub
‘定义一个类的方法(有返回值)
Public Function out_info()
out_info=asp & “我是asp_class类的一个函数。<br>”
End Function
‘定义一个类的方法(无返回值)
Public Sub WriteStr(str)
Response.Write(str)
End Sub
End Class
%>
2. 实例化类:
创建类之后,就可以实例化类,并在代码中进行引用。实例化类一般用Set语句:
Set objectvar={objectexpression | New classname | Nothing}
其中,objectvar表示一个变量,objectexpression表示一个对象。New关键字原来创建一个类的新实例,classname表示创建的类名,Nothing表示断开objectvar与任何指定对象或类的关联,一般不再使用前面的引用对象时,应该为objectvar赋值为Nothing,以释放与前面的引用对象相关联的系统或内存资源。示例:
<%
Dim myclass
‘定义一个名为myclass的asp_class对象的实例
Set myclass=New asp_class
‘调用对象的方法
Response.Write(myclass.out_info)
‘调用对象的方法
Dim str
Str=”我是asp_class类的一个方法。<br><span style=’color:red;’>类是ASP应用开发中最高级技术>>>--=^_^</span>”
myclass.WriteStr str
‘关闭对象,释放系统资源
Set myclass=Nothing
%>
3. 定义类的属性:
属性和方法都是类的重要成员。用户可以通过为类定义公共变量来接收或向外传递信息,但这种方式不是很安全,破坏了类的封闭性。为了保证类与外部的通信,一般使用Property语句来实现,但Property必须与Let、Set或Get语句配合使用。
·Let:可以设置属性。
·Get:可以读取属性值。
·Set:可以设置对象。
1)Property Let语句:
Property Let语句可以在Class中设置属性的值。语法格式如下:
[Public | Private] Property Let name ([arglist,] value)
[语句]
[Exit Property]
[语句]
End Property
其中,Public关键字表示Property Let过程可以被所有脚本中的其他所有过程访问;Private关键字表示Property Let过程只能被定义的Class内的其他过程访问;name表示Property Let过程的名称,在Class中的Property Get和Property Set过程名称要相同;arglist是一个变量列表,表示在调用时被传递到Property Let过程的参数,多个参数之间用逗号隔开,Property Let过程的每个参数的名字必须与Property Get过程中的相应参数相同,而且Property Let过程的参数比相应的Property Get过程总要多一个,该参数为被赋予属性的值;value表示要赋予属性的值。
每个Property Let语句必须为所定义的属性定义至少一个参数,该参数包含了当Property Let被调用时要赋予属性的值。
如果未明确使用Public或Private进行指定,Property Let过程被缺省设置为公有的,即它们对于脚本内的其他所有过程都是可见的。Property Let过程中的局部变量的值在不同的过程调用之间是不被保存的。在其他任何过程与函数的内部不能够定义Property Let过程。
Exit Property语句强制从Property Let过程中退出,程序将从调用Property Let过程的语句之后的点继续运行。Exit Property语句可以出现在Property Let过程中的任何位置,次数不限。
Property Let过程是一个单独的过程,可以接受参数,执行一系列的语句,还可以改变参数的值。不过,Property Let过程只能用于属性赋值表达式的左侧。
2)Property Get语句:
在Class中,Property Get语句可以取得(返回)属性的值,其语法格式为:
[Public [Default] | Private] Property Get name [(arglist)]
[语句]
[[Set] name=expression]
[Exit Property]
[语句]
[[Set] name=expression]
End Property
具体参数说明与Property Let相同。示例如下:
<%@Language=”VBScript” Codepage=”963”%>
<%
Class myClass
‘声明一个类的内部变量
Private strExample
‘定义类的输入属性,该属性是让用户初始化strExample变量
Public Property Let setExample(ByVal strVar)
strExample=strVar
End Property
‘定义一个类的输出属性,将返回用户定义的属性
Public Property Get getExample
getExample=strExample
End Property
End Class
%>
<%
‘实例化该类
Dim oneNewClass
Set oneNewClass=New myClass
oneNewClass.setExample=”这是一个简单类的例子”
Response.Write oneNewClass.getExample
Set oneNewClass=Nothing
%>
4. 定义类的方法:
要定义类的方法,只需要把过程包含在类中就可以了,其中Function可以定义有返回值的方法,而Sub过程可以定义没有返回值的方法。示例:
<%@Language=”VBScript” Codepage=”963”%>
<%
Class TV
Private channel ‘定义私有变量channel(电视频道)
Public function getChannel()
getChannel=channel
End function
Sub SetChannel(c)
channel=c
End Sub
End Class
%>
<%
‘实例化该类
Set mytv=New TV
‘设置类的方法(无返回值)
‘实际上这与Property Let语句功能相似,但不支持使用
mytv.setChannel(“频道5”)
‘调用类的方法(有返回值)
Response.Write mytv.getChannel()
%>
5. 定义类的事件:
类的事件主要包括初始化事件和结束事件。所谓类的初始化就是定义只要一开始使用该类,就首先会触发并执行初始化部分代码。一般使用Class_Initialize语句对类进行初始化,而使用Class_Terminate语句定义类的结束事件,结束事件就是只要一退出该类,就会触发该事件。示例如下:
<%@Language=”VBScript” Codepage=”963”%>
<%
Class myClass
‘声明类的内部变量
Private strAuthor
Private strVersion
‘定义类的初始化事件,以实现初始化类
‘在下面的代码中首先初始化该类的私有变量,以及屏幕上提示该类已经开始了
Public Sub Class_Initialize()
strAuthor=”CSS8”
strVersion=”1.0”
Response.Write “<h2>myClass类开始了</h2>”
End Sub
‘定义类的结束事件,只要一退出该类,就会触发该事件
‘下面代码提示退出该类,显示该类已结束
Public Sub Class_Terminate()
Response.Write “<h2>myClass结束了</h2>”
End Sub
End Class
%>
<%
‘实例化该类
Dim oneNewClass
Set oneNewClass=New myClass
Response.Write “类处于引用状态......”
Set oneNewClass=Nothing
%>