《ASP[1].NET程序设计课件_2009.ppt》由会员分享,可在线阅读,更多相关《ASP[1].NET程序设计课件_2009.ppt(282页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ASP1.NET程序设计课件_2009成绩考核成绩考核l考试(考试(70%)考核()考核(30%)l点名点名3次及以上不到者,不予参加考试次及以上不到者,不予参加考试Microsoft.NET平台平台1.操作系统操作系统可以是任何一种可以是任何一种Windows平台,也可以是其他操作系统平台,也可以是其他操作系统2.NET 企业级服务器产品企业级服务器产品用于简化大型服务器系统的开发和管理。包括用于简化大型服务器系统的开发和管理。包括SQL Server、DB2、Oracle、MySQL3.NET服务组件服务组件.NET为开发人员提供了大量的为开发人员提供了大量的Web服务组件服务组件4.NE
2、T开发工具开发工具Visual Studio.NET也可以是其他开发工具,如也可以是其他开发工具,如C#Builder等等5.NET框架框架.NET框架框架l公共语言运行库(公共语言运行库(CLR)l.NET框架类库(框架类库(FCL).NET框架框架CLR编译过程编译过程l微软提供了公共语言规范微软提供了公共语言规范CLS和通用类型系统和通用类型系统CTS.NET框架框架FCLl多种多种.NET编程语言的统一类库编程语言的统一类库只要学习一套统一的类库而不是大量不同的只要学习一套统一的类库而不是大量不同的APIl7000多种类型多种类型依靠命名空间(依靠命名空间(Namespace)将多个提
3、供相似功能的)将多个提供相似功能的类组织在相关的单元中,以分层命名空间结构来组织类组织在相关的单元中,以分层命名空间结构来组织补充安装补充安装IIS(基于基于.net2003)补充安装补充安装IIS(基于基于.net2003)l注意:注意:有时在安装完有时在安装完IIS后在组件里发现已经有后在组件里发现已经有Frontpage服务器扩展了,但在安装服务器扩展了,但在安装.net2003时仍会提示没有安装。时仍会提示没有安装。补充安装补充安装IIS(基于基于.net2003)l注意:注意:系统安装完系统安装完IIS后会自动在你的系统盘根后会自动在你的系统盘根目录下生成一个目录目录下生成一个目录I
4、netpub,在其下一,在其下一级目录里面有一个目录级目录里面有一个目录wwwroot,这是,这是系统默认的系统默认的WEB页目录页目录补充配置补充配置IIS补充配置补充配置IIS补充配置补充配置IIS补充:网页的工作原理补充:网页的工作原理补充:补充:HTMLl本章主要介绍了本章主要介绍了HTML显示原理、显示原理、HTML制作工具以及常用的制作工具以及常用的HTML标记等标记等。补充:补充:HTMLl2.1HTML简介简介HTML是在标准通用标记语言是在标准通用标记语言SGML定义下的一个描定义下的一个描述性语言,是述性语言,是SGML的一个子集。的一个子集。HTML不是一种像不是一种像C
5、#、Java之类的程序语言,而是一种描述文档结构的之类的程序语言,而是一种描述文档结构的标记语言,它是一种应用非常广泛的网页格式,也是标记语言,它是一种应用非常广泛的网页格式,也是最早被用来显示最早被用来显示Web页的语言之一。它与操作系统平页的语言之一。它与操作系统平台的选择无关,只要有浏览器就可以运行台的选择无关,只要有浏览器就可以运行HTML文档,文档,显示网页内容。显示网页内容。HTML文档类似于文档类似于.txt文本文件,不同的是,文档里还文本文件,不同的是,文档里还包含一种被称为标记的符号。包含一种被称为标记的符号。补充:补充:HTMLl2.1.1HTML显示原理显示原理HTML使
6、用一组约定的标记符号,对使用一组约定的标记符号,对Web上的各种信息进行标记,浏览器会上的各种信息进行标记,浏览器会解释这些标记符号并以它们指定的格式解释这些标记符号并以它们指定的格式把相应的内容显示在屏幕上,而标记符把相应的内容显示在屏幕上,而标记符号本身不会在屏幕上显示出来。号本身不会在屏幕上显示出来。补充:补充:HTML补充:补充:HTMLl2.1.2HTML制作工具制作工具1.HTML编辑器:编辑器:文本编辑器文本编辑器(记事本、写字板记事本、写字板)所见即所得编辑器所见即所得编辑器(FrontPage、Dreamweaver)2.Web浏览器:浏览器:MicrosoftInterne
7、tExplorer补充:补充:HTMLl2.1.3HTML标记标记通过用记事本制作第一个通过用记事本制作第一个HTML文档来了解:用文档来了解:用HTML制作网页的一般步骤、一个制作网页的一般步骤、一个HTML文档文档的基本结构和的基本结构和HTML标记的写法。标记的写法。补充:补充:HTMLl用记事本制作网页的步骤用记事本制作网页的步骤打开记事本。在记事本中输入代码。以.htm或.html为扩展名保存文件。用浏览器打开上步保存的文件,即可看到页面显示效果。补充:补充:HTML我的第一个网页我的第一个网页这这是我用记事本做的第一个网页,我会努力学好是我用记事本做的第一个网页,我会努力学好HTM
8、L!补充:补充:HTMLlHtml文档结构标记注意:文档结构标记注意:HTML文档可以自己编写。文档可以自己编写。HTML文档可以用编辑器(文档可以用编辑器(FRONTPAGE、DREAMWEAVER)生成。生成。HTML标记包含在一对标记包含在一对中。中。HTML标记是成对出现(少数例外)。标记是成对出现(少数例外)。极少数标记单独出现,如:极少数标记单独出现,如:(换行换行).标记不区分字符的大小写。标记不区分字符的大小写。HTML文档的扩展名:文档的扩展名:htm/htmlHTML文档是一个纯文本的,可用任何编辑工具编辑。文档是一个纯文本的,可用任何编辑工具编辑。补充:补充:HTMLlH
9、TML的文档结构的文档结构欢迎同学们欢迎同学们同学们下午好同学们下午好!补充:补充:HTMLlHTML标记标记.一个页面的开始。一个页面的开始。补充:补充:HTMLlHEAD标记标记页面的第页面的第2层标记。层标记。包含标题信息。包含标题信息。必须在必须在BODY标记开始之前结束。标记开始之前结束。补充:补充:HTMLlTITLE标记标记页面的名称。标题页面的名称。标题title元素含有你的文档标元素含有你的文档标题题.标题通常显示在浏览器窗口的某个位置标题通常显示在浏览器窗口的某个位置(通通常常显示在浏览器的左上方显示在浏览器的左上方),而不是在文本区而不是在文本区.补充:补充:HTMLlT
10、ITLE标记标记注意:注意:它是一个网站最先被访问者看到的信息。它是一个网站最先被访问者看到的信息。同时,许多搜索引擎在同时,许多搜索引擎在INTERNET上自动进行上自动进行网站搜索时所记录下来的就包括了页面标题,网站搜索时所记录下来的就包括了页面标题,关键字等。因此,页面标题对于网站的推广,关键字等。因此,页面标题对于网站的推广,增加访问者对网站浏览的兴趣有很大的帮助。增加访问者对网站浏览的兴趣有很大的帮助。可在网站的主页面添加标题信息。可在网站的主页面添加标题信息。补充:补充:HTMLlBODY标记标记页面的内容。页面的内容。HTML文档的第二部分,也是最文档的第二部分,也是最大的部分大
11、的部分,它含有你的文档的内容它含有你的文档的内容(显示在你的显示在你的浏览器窗口文本区的部分浏览器窗口文本区的部分)。页面中的所有其页面中的所有其它的它的HTML标记都在这对标记之间。标记都在这对标记之间。有六个参数(属性)。有六个参数(属性)。补充:补充:HTMLlBODY标记标记BACKGROUND:指定一幅图像作为页面的:指定一幅图像作为页面的背景图像背景图像BGCOLOR:指定页面的背景颜色。指定页面的背景颜色。TEXT:指定文本的默认颜色。:指定文本的默认颜色。ALINK:指定单击超级连接的连接文字的颜色。:指定单击超级连接的连接文字的颜色。LINK:指定超级连接被单击的颜色。指定超
12、级连接被单击的颜色。VLINK:指定超级连接没有被单击时的颜色。:指定超级连接没有被单击时的颜色。补充:补充:HTMLl注释标记注释标记注释文本不会显示在用户的浏览器窗口。注释文本不会显示在用户的浏览器窗口。如果是程序代码,即使是放在注释标记内也会如果是程序代码,即使是放在注释标记内也会被执行。被执行。补充:补充:HTMLl3页面文本的排版标记页面文本的排版标记uFONT标记标记SIZE参数的数值范围参数的数值范围1-7。补充:补充:HTMLl3页面文本的排版标记页面文本的排版标记uH标记标记H标记可以指定标记之间的文本的大小,有标记可以指定标记之间的文本的大小,有H1-H6格式格式:文本文本
13、文本文本ALIGN(排列)参数:排列)参数:CONTER,LEFT,RIGHTALIGN=“LEFT”补充:补充:HTMLl3页面文本的排版标记页面文本的排版标记u其他标记其他标记B标记标记:文本加粗文本加粗I标记标记:文本设置为斜体文本设置为斜体U标记标记:文本加下划线文本加下划线S标记标记:文本加删除线文本加删除线补充:补充:HTMLl3页面文本的排版标记页面文本的排版标记u排版标记排版标记BR标记:添加一个换行符,单个使用标记:添加一个换行符,单个使用HR标记:在页面上画一条水平线,可单个使标记:在页面上画一条水平线,可单个使用用补充:补充:HTMLl3页面文本的排版标记页面文本的排版标
14、记u不编号列表不编号列表UnnumberedLists格式:格式:.补充:补充:HTMLl3页面文本的排版标记页面文本的排版标记u编号列表编号列表NumberedLists格式:格式:补充:补充:HTMLl4Table表格表格uTABLE标记标记TABLE标记标志着一个表格的开始和结束,标记标志着一个表格的开始和结束,表格的所有定义都包含在这对标记之间表格的所有定义都包含在这对标记之间,其其格式如下:格式如下:定义表格行、列及内容定义表格行、列及内容补充:补充:HTMLl4Table表格表格uTABLE参数(参数(1)ALIGN参数:设置表格与页面的对齐方式,可取值为参数:设置表格与页面的对齐
15、方式,可取值为LEFT(左对齐)、(左对齐)、RIGHT(右(右对齐对齐)、)、CENTER(居中)。(居中)。BCAKGROUND参数:为表格指定一幅背景图像。参数:为表格指定一幅背景图像。BGCOLOR参数:为表格指定背景色。参数:为表格指定背景色。BORDER:设定表格单元格四周的边界宽度,如果此:设定表格单元格四周的边界宽度,如果此参数设置为参数设置为0,那么表格不显示边界。,那么表格不显示边界。补充:补充:HTMLl4Table表格表格uTABLE参数(参数(2)WIDTH参数:设置整个表格的宽度,默认参数:设置整个表格的宽度,默认情况下以像素为单位,也可以使用百分比的情况下以像素为
16、单位,也可以使用百分比的方式设置,这个百分比是表格宽度和浏览器方式设置,这个百分比是表格宽度和浏览器显示宽度的百分比。显示宽度的百分比。COLS参数:设定表格的列数,当表格自动参数:设定表格的列数,当表格自动计算你创建的列数时,则不需要设置。计算你创建的列数时,则不需要设置。补充:补充:HTMLl4Table表格表格uTR标记标记ALIGN参数:行中的文本在单元格中的对齐方式,参数:行中的文本在单元格中的对齐方式,可取值为可取值为LEFT(左对齐)、(左对齐)、RIGHT(右(右对齐对齐)、)、CENTER(居中)。(居中)。BCAKGROUND参数:指定单元格背景图像。参数:指定单元格背景图
17、像。BGCOLOR参数:指定单元格背景色。参数:指定单元格背景色。uTD标记:指定单元格的内容。标记:指定单元格的内容。补充:补充:HTMLl5文件之间的链接文件之间的链接链接分为链接分为本地链接本地链接、URL链接链接和和目录链接目录链接。在。在各种链接的各个要素中,各种链接的各个要素中,资源地址资源地址是最重要的,是最重要的,一旦路径上出现差错,该资源就无法从用户端一旦路径上出现差错,该资源就无法从用户端取得。取得。超文本中的链接是其最重要的特性之一,用户超文本中的链接是其最重要的特性之一,用户可以从一个页面转跳到另外的页面、图像、可以从一个页面转跳到另外的页面、图像、WEB服务器。服务器
18、。格式:格式:链接文字链接文字补充:补充:HTMLl5文件之间的链接文件之间的链接u本地链接本地链接以绝对路径表示:以绝对路径表示:文件链文件链接接以相对路径表示:以相对路径表示:文件的链接文件的链接链接上一目录中的文件:链接上一目录中的文件:上级地址上级地址为避免重新修改文件资源路径的麻烦,建议写成绝对为避免重新修改文件资源路径的麻烦,建议写成绝对路径路径补充:补充:HTMLl5文件之间的链接文件之间的链接uURL链接链接(1)URL的意思是统一资源定位器,通过它可以以多种的意思是统一资源定位器,通过它可以以多种通讯协议与外界沟通来存取信息。通讯协议与外界沟通来存取信息。URL链接的形式链接
19、的形式是:是:协议名:协议名:/主机域名主机域名/路径路径/文件名文件名协议包括:协议包括:file:本地系统文件。本地系统文件。http:WWW服务器。服务器。ftp:ftp服务器。服务器。mailto:电子邮件。电子邮件。补充:补充:HTMLl5文件之间的链接文件之间的链接uURL链接链接(2)实现在文件或页面内链接。实现在文件或页面内链接。定义标记格式:定义标记格式:定位格式:定位格式:补充:补充:HTMLl5文件之间的链接文件之间的链接u其他链接其他链接可链接外部动画和声音可链接外部动画和声音.唯一的不同在于链接唯一的不同在于链接文件的扩展名文件的扩展名.例如例如:指明一个到音指明一个
20、到音乐的链接乐的链接.补充:补充:HTMLl5文件之间的链接文件之间的链接u链接下载文件链接下载文件例例:下载下载补充:补充:HTMLl5文件之间的链接文件之间的链接u建立新窗口建立新窗口将主页的内容显示在一个新的窗口。将主页的内容显示在一个新的窗口。格式:格式:补充:补充:HTMLl6HTML对图片的控制对图片的控制u基本语法基本语法:引用图片必须用引用图片必须用元素标志。元素标志。元元素下的基本元素属性是素下的基本元素属性是src属性,属性,src的属性的属性值为所引用的图片的值为所引用的图片的URL地址地址。src属性是必须的。属性是必须的。Src的的URL可以是可以是绝对绝对地址地址,
21、也可以是,也可以是相对地址相对地址补充:补充:HTMLl6HTML对图片的控制对图片的控制u所谓图片的替代文本,指图片不能显示时在所谓图片的替代文本,指图片不能显示时在图片所在位置显示的一段文本或当鼠标移到图片所在位置显示的一段文本或当鼠标移到图片上时也会显示替代文本。图片上时也会显示替代文本。定义图片替代文本的方法是:定义图片替代文本的方法是:补充:补充:HTMLl6HTML对图片的控制对图片的控制u图片的显示大小图片的显示大小我们可以指定一幅图片在浏览器窗口我们可以指定一幅图片在浏览器窗口里的显示大小。里的显示大小。定义图片的显示大小的方法是:定义图片的显示大小的方法是:补充:补充:HTM
22、Ll6HTML对图片的控制对图片的控制u定义图片与左、右的文本之间的间距定义图片与左、右的文本之间的间距图片在显示时,与左右的文本之间可以有一图片在显示时,与左右的文本之间可以有一定的间距定的间距Hspace(horizontal)定义定义水平间距水平间距;Vspace(vertical)定义定义垂直间距垂直间距。补充:补充:HTMLl7嵌入多媒体页面嵌入多媒体页面u链接音乐文件链接音乐文件用用嵌入多媒体对象嵌入多媒体对象(Flash动画、动画、音乐文件等)音乐文件等)基本语法:基本语法:#=url注意:使用注意:使用标记之前,需要安装标记之前,需要安装插件才可以;插件才可以;补充:补充:HT
23、MLl7嵌入多媒体页面嵌入多媒体页面u嵌入背景音乐嵌入背景音乐#=WAV文件的文件的URL#=循环数循环数补充:补充:HTMLl8网页中的框架网页中的框架u制作框架页面的步骤:制作框架页面的步骤:1.编写所有子框架页面编写所有子框架页面2.编写主框架页面编写主框架页面3.在主框架页面中设定子框架名称在主框架页面中设定子框架名称4.如果框架页面之间存在链接,在子框架中如果框架页面之间存在链接,在子框架中设定链接。设定链接。注意:框架页面是不含注意:框架页面是不含标签的标签的补充:补充:HTMLl8网页中的框架网页中的框架u基本语法基本语法您的浏览器不支持框架,请考虑升级您的浏览器!您的浏览器不支
24、持框架,请考虑升级您的浏览器!补充:补充:HTMLl定义框架的基本语法定义框架的基本语法框架由一对框架由一对定义定义有两个属性:有两个属性:rows和和colsRows定义上下分割的框架的大小;定义上下分割的框架的大小;cols定义左右分割的框架的大小;定义左右分割的框架的大小;在定义大小时,在定义大小时,rows和和cols可以使用相对可以使用相对大小或以百分比为单位。大小或以百分比为单位。补充:补充:HTMLl各窗口的尺寸设置各窗口的尺寸设置横排多个窗口横排多个窗口补充:补充:HTMLl各窗口的尺寸设置各窗口的尺寸设置纵向排列多个窗口纵向排列多个窗口补充:补充:HTMLl各窗口的尺寸设置各
25、窗口的尺寸设置COLS&ROWS:纵横排列多个窗口:纵横排列多个窗口补充:补充:HTMLl框架边框的颜色框架边框的颜色bordercolorl各窗口边框的设置各窗口边框的设置frameborder=#(yes,no)l框架边框的宽度框架边框的宽度framespacing补充:补充:HTMLl的属性的属性name:定义该框架的名字。这个名字可以被:定义该框架的名字。这个名字可以被一些网页元素引用,如被一些网页元素引用,如被元素引用。元素引用。url:在本框架里显示网页的:在本框架里显示网页的URL。Target:目标框架:目标框架,引用的是目标框架的名字。引用的是目标框架的名字。补充:补充:HT
26、MLl滚动字幕滚动字幕内容内容常用属性:常用属性:1.behavior:用来设定滚动的方式,可取属性值:用来设定滚动的方式,可取属性值有:有:scroll、slide、alternate。scroll(循环移动循环移动)、slide(只移动一个回合只移动一个回合)、alternate(来回移动来回移动)补充:补充:HTMLl滚动字幕滚动字幕2.bgcolor、width、height。bgcolor:底色底色width和和height:移动的宽度与高度移动的宽度与高度3.direction:滚动方向:滚动方向可取属性值有:可取属性值有:left、right、down、up补充:补充:HTMLl
27、滚动字幕滚动字幕4.loop、scrollamount、scrolldelayloop:循环。若未指定则循环不止,其值取数值循环。若未指定则循环不止,其值取数值scrollamount:移动速度。值取正整数。数值越移动速度。值取正整数。数值越大,速度越快大,速度越快scrolldelay:延时延时补充:补充:HTMLl滚动字幕滚动字幕5.onmouseover=this.stop()onmouseout=this.start()补充:补充:HTMLl简单简单CSS样式样式作用:点击之前与点击之后链接颜色变化作用:点击之前与点击之后链接颜色变化;点击之前与点击之后链接下划线变化点击之前与点击之后
28、链接下划线变化acolor:Blue;text-decoration:none;a:hovercolor:#CC00FF;text-decoration:underline;补充:补充:HTMLl对于静态页面的设置仅仅依赖框架与对于静态页面的设置仅仅依赖框架与table是不够的是不够的,如果自己想把页面做好如果自己想把页面做好,还需要在课下多看一些关于还需要在课下多看一些关于css和和javascript的东西的东西.l另外另外,设计页面不要把自己的页面设计成设计页面不要把自己的页面设计成五颜六色的五颜六色的.为提高网页浏览速度,页面为提高网页浏览速度,页面中昼少插入音频、视频,如果需要加载中
29、昼少插入音频、视频,如果需要加载大量图片,可以考虑将图片做成大量图片,可以考虑将图片做成flashC语法基础语法基础lC#语言的特点语言的特点lC#语言的数据类型语言的数据类型l分支与循环结构分支与循环结构lC#语言面向对象的特性语言面向对象的特性l常用系统类常用系统类C语法基础语法基础lC#语言的特点语言的特点依靠依靠命名空间命名空间(Namespace)将多个提供)将多个提供相似功能的类组织在相关的单元中,以分层相似功能的类组织在相关的单元中,以分层的命名空间结构来组织的命名空间结构来组织在程序代码中,使用名称空间是个良好的编在程序代码中,使用名称空间是个良好的编程习惯,因为这有助于程习惯
30、,因为这有助于重用重用你的程序代码。你的程序代码。C语法基础语法基础lusing命名空间命名空间(可引用命名空间成员可引用命名空间成员)例如:两个文件例如:两个文件(Class1.cs和和Class2.cs)Class2.cs内容:内容:usingSystem;namespacessclassaapublicvoiddd()Console.WriteLine(fdsfds);C语法基础语法基础Class1.cs内容:内容:usingSystem;usingss;namespacebbclassClass1staticvoidMain()aab=newaa();b.dd();C语法基础语法基础l
31、C#语言的数据类型语言的数据类型值类型和引用类型值类型和引用类型C语法基础语法基础lC#语言的数据类型语言的数据类型-值类型值类型简单类型、结构类型(简单类型、结构类型(struct)、枚举)、枚举类型(类型(enum)C语法基础语法基础类类 型型FCL类类型型描描 述述默默 认认 值值sbyteSystem.SByte有符号有符号8位整数位整数0byteSystem.Byte无符号无符号8位整数位整数0shortSystem.Int16有符号有符号16位整数位整数0ushortSystem.UInt16无符号无符号16位整数位整数0intSystem.Int32有符号有符号32位整数位整数0
32、uintSystem.UInt32无符号无符号32位整数位整数0longSystem.Int64有符号有符号64位整数位整数0LulongSystem.UInt64无符号无符号64位整数位整数0charSystem.Char16位位Unicode字符字符0floatSystem.Single32位位单单精度浮点数精度浮点数0.0FdoubleSystem.Double64位双精度浮点数位双精度浮点数0.0DboolSystem.Booleantrue或或false布布尔尔值值falsedecimalSystem.Decimal128位高精度浮点数位高精度浮点数0.0MlC#语言的数据类型语言的
33、数据类型-值类型值类型C语法基础语法基础lC#语言的数据类型引用类型语言的数据类型引用类型引用类型变量存的不是值,而是指向所引用类型变量存的不是值,而是指向所要存储的值的要存储的值的地址地址。引用类型的变量分。引用类型的变量分为:类、接口、委托、数组为:类、接口、委托、数组值类型通常被分配在堆栈上,引用类型值类型通常被分配在堆栈上,引用类型总是分配在托管堆上,引用类型的变量总是分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通通常包含一个指向实例的指针,变量通过该指针来引用实例过该指针来引用实例C语法基础语法基础l举例:值类型与引用类型举例:值类型与引用类型值类型值类型(理解其如
34、何在内存中存储理解其如何在内存中存储)intx=10;inty=x;y=20;/这条语句运行后这条语句运行后x的值为的值为10,y的值为的值为20;C语法基础语法基础l举例:值类型与引用类型区别举例:值类型与引用类型区别l引用类型引用类型(理解其如何在内存中存储理解其如何在内存中存储)/RefType是引用类型是引用类型publicclassRefTypepublicintVar;C语法基础语法基础/ValueType是值类型是值类型publicstructValueTypepublicintVar;C语法基础语法基础/TestValueRef测试了值类型和引用类型测试了值类型和引用类型之间的
35、差别之间的差别privatevoidTestValueRef()/定义了引用类型的实例对象定义了引用类型的实例对象RefTypereft=newRefType();/定义了值类型的实例对象定义了值类型的实例对象ValueTypevaluet=newValueType();reft.Var=100;valuet.Var=100;Console.WriteLine(reft.Var);Console.WriteLine(valuet.Var);/赋值给新的实例对象赋值给新的实例对象RefTyperefto=reft;ValueTypevalueo=valuet;/给新的实例对象赋值给新的实例对象赋
36、值refto.Var=10;valueo.Var=1000;Console.WriteLine(reft.Var);Console.WriteLine(refto.Var);Console.WriteLine(valuet.Var);Console.WriteLine(valueo.Var);C语法基础语法基础l引用类型的访问限定修饰符引用类型的访问限定修饰符访问访问限定修限定修饰饰符符描描 述述public可以被所有可以被所有类类及其方法及其方法访问访问private仅仅可以被所定可以被所定义义的的类类中的方法中的方法访问访问protected仅仅可以被所定可以被所定义义的的类类及其派生及其
37、派生类类中的方法中的方法访问访问internal仅仅可以被所定可以被所定义义的同一的同一项项目中的方法目中的方法访问访问protected internal仅仅可以被所定可以被所定义义的的类类、派生、派生类类及同一及同一项项目中的方法目中的方法访问访问C语法基础语法基础l访问限定修饰符访问限定修饰符internal内部成员只有在同一程序集中的文件内内部成员只有在同一程序集中的文件内才是可访问的才是可访问的(同一个同一个namespace)举例:举例:C语法基础语法基础该示例包含两个文件:该示例包含两个文件:Assembly1.cs和和Assembly2.csAssembly1.cs:inter
38、nalclassBaseClasspublicstaticintIntM=0;C语法基础语法基础Assembly2.csclassTestAccesspublicstaticvoidMain()BaseClassmyBase=newBaseClass();/出错!出错!C语法基础语法基础l引用类型的预定义特性引用类型的预定义特性预预定定义义特性特性描描 述述abstract不能被不能被实实例化,可以用做其他例化,可以用做其他类类型的基型的基类类型;型;如果派生如果派生类类不是抽象的,不是抽象的,则则可以可以创创建它的建它的实实例例sealed不能用做基不能用做基类类型型new子子类类不会重写基
39、不会重写基类类中的方法,中的方法,应应用于虚方法用于虚方法作业作业l将你页面上所有的链接加载上,并为你将你页面上所有的链接加载上,并为你的页面加载上时间的页面加载上时间l用用C#实现输入任意实现输入任意10个数,并按从小到个数,并按从小到大顺序输出大顺序输出C语法基础语法基础l预定义特性预定义特性new修饰符修饰符使用使用new修饰符显式隐藏从基类继承的修饰符显式隐藏从基类继承的成员。成员。若要隐藏继承的成员,请使用相同名称若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用在派生类中声明该成员,并用new修饰修饰符修饰它。符修饰它。C语法基础语法基础举例:举例:publicclass
40、MyBaseCpublicintx;publicvoidInvoke()在派生类中用在派生类中用Invoke名称声明成员会隐藏基类中的名称声明成员会隐藏基类中的Invoke方法方法publicclassMyDerivedC:MyBaseCnewpublicvoidInvoke()C语法基础语法基础l预定义特性预定义特性new修饰符修饰符使用使用new修饰符显式隐藏从基类继承的修饰符显式隐藏从基类继承的成员。成员。若要隐藏继承的成员,请使用相同名称若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用在派生类中声明该成员,并用new修饰修饰符修饰它。符修饰它。C语法基础语法基础举例举例us
41、ingSystem;classApublicvoidss()Console.WriteLine(classA_ss);classB:Apublicnewvoidss()Console.WriteLine(classB_ss);classCstaticvoidMain()Aa=newA();Bb=newB();a.ss();b.ss();C语法基础语法基础publicclassSquarepublicdoublex;/构造构造:publicSquare(doublex)this.x=x;publicdoubleArea()returnx*x;classCube:Square/构造构造:publi
42、cCube(doublex):base(x)/调用基类方法调用基类方法:publicnewdoubleArea()return(6*(base.Area();举例:有一个基类举例:有一个基类Square(正方形正方形)和一个派生类和一个派生类Cube(立方体立方体)。因为。因为立方体的面积是六个正方形的面积之和立方体的面积是六个正方形的面积之和C语法基础语法基础publicstaticvoidMain()doublex=5;Squares=newSquare(x);Squarec=newCube(x);Console.WriteLine(s.Area();Console.WriteLine(c
43、.Area();结果:结果:2525C语法基础语法基础如何让结果显示不同呢?如何让结果显示不同呢?将将Square类中类中area方法设置成方法设置成virtual将将Cube类中的类中的area方法方法overrideC语法基础语法基础publicclassSquarepublicdoublex;/构造构造:publicSquare(doublex)this.x=x;publicvirtualdoubleArea()returnx*x;classCube:Square/构造构造:publicCube(doublex):base(x)/调用基类方法调用基类方法:publicoverride d
44、oubleArea()return(6*(base.Area();举例:有一个基类举例:有一个基类Square(正方形正方形)和一个派生类和一个派生类Cube(立方体立方体)。因为。因为立方体的面积是六个正方形的面积之和立方体的面积是六个正方形的面积之和C语法基础语法基础l预定义特性预定义特性abstract修饰符修饰符抽象类只可以作为其他类的基类,它不抽象类只可以作为其他类的基类,它不能实例化能实例化C语法基础语法基础示例:示例:abstractclassApublicabstractvoidf();classB:Apublicoverridevoidf()Console.WriteLine
45、(ReachingB:f();classssstaticvoidMain()Bb=newB();b.f();结果:ReachingB:f()C语法基础语法基础l预定义特性预定义特性sealed修饰符修饰符加上加上sealed可防止该类被其余类继承可防止该类被其余类继承abstractclassApublicabstractvoidf();classB:Asealedpublicoverridevoidf()Console.WriteLine(ReachingB:f();假设有个类假设有个类C如果要继承如果要继承B类的话,则不类的话,则不允许重写允许重写f();C语法基础语法基础l接口接口接口是
46、对一组能够提供相同服务的类的抽象,接口是对一组能够提供相同服务的类的抽象,是一种特殊的类,不实现任何方法或属性,只是一种特殊的类,不实现任何方法或属性,只定义要完成什么任务而不定义如何完成。定义要完成什么任务而不定义如何完成。定义接口,里面包含方法,但没有方法具体实定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码接口的所有方法的代码有此多此一举有此多此一举?C语法基础语法基础接口其实就是类和类之间的一种协定接口其实就是类和类之间的一种协定,一种约束一种约束接口目的:方便统一管理,方便调用接口目的:方便统
47、一管理,方便调用举例:举例:publicinterfaceIBarkvoidBark();C语法基础语法基础/再定义再定义Dog类类,继承于继承于IBark,且实现其中且实现其中Bark()方法方法publicclassDog:IBarkpublicvoidBark()Consol.write(汪汪汪汪);C语法基础语法基础/再定义再定义Cat类类,继承于继承于IBark,且实现其中且实现其中Bark()方法方法publicclassCat:IBarkpublicvoidBark()Consol.write(喵喵喵喵);C语法基础语法基础接口作用:如果我们从设计的角度来看接口作用:如果我们从设
48、计的角度来看.一一个项目中用若干个类需要去编写个项目中用若干个类需要去编写,由于这些由于这些类比较复杂类比较复杂,工作量比较大工作量比较大,这样每个类就这样每个类就需要占用一个工作人员进行编写需要占用一个工作人员进行编写.比如比如A程程序员去定序员去定Dog类类,B程序员去写程序员去写Cat类类.这两这两个类本来没什么联系的个类本来没什么联系的,可是由于用户需要可是由于用户需要他们都实现一个关于他们都实现一个关于叫叫的方法的方法.这就要对这就要对他们进行一种约束他们进行一种约束作业作业l课本课本P47上机操作题:上机操作题:123C语法基础语法基础l委托委托作用:可以理解为用来执行方法作用:可
49、以理解为用来执行方法,类似于,类似于C+中的函数指针中的函数指针在使用委托的时候,你可以像对待一个类一样在使用委托的时候,你可以像对待一个类一样对待它,先声明,再实例化对待它,先声明,再实例化例:例:/声明了一个委托声明了一个委托delegatedoubleop(doublex);任何一个返回值为任何一个返回值为double,且只有一个形参,且只有一个形参为为double的函数,都可以用这个委托来调用的函数,都可以用这个委托来调用C语法基础语法基础/声明一个满足委托声明的方法声明一个满足委托声明的方法publicstaticvoidmul2(doublevalue)doubleresult=v
50、alue*2;Console.WriteLine(value,result);C语法基础语法基础实例化委托实例化委托staticvoidMain()opoperation=newop(mul2);doublex=1;operation(x);C语法基础语法基础多点委托多点委托delegatevoidaa(intx,inty);classClass2staticvoidMethod1(intx,inty)Console.WriteLine(YourinMethod1);staticvoidMethod2(intx,inty)Console.WriteLine(YourinMethod2);pub