版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网站的创建,1.运行VS2005,在主菜单的“文件”中选择“新建网站”。 2.在“已安装的模板”中选择“ASP.NET 网站”。 3.选择创建网站的位置,并输入准备保存网站页面的文件夹 名称及路径。 4.选择“Visual C”单击“确定”。,发布网站,发布网站步骤 : 1.选择“生成”中的“发布网站”。 2.在“发布位置”中输入将要发布的位置。 3.启动IIS,创建一个IIS虚拟目录指向目标文件夹。 4.在浏览器中输入地址查看网站发布的网页。,索引器,属性,属性是限制对类成员访问的方法,private int animalWeight; public int Weight get retur
2、n animalWeight; set animalWeight = value; ,索引,属性是用来访问类中的私有成员变量 而索引是用来进行访问在类中声明的数组元素的手段,using System; Public class IndexerTest private int Array=new int10; public int thisint index get if (index =0|index =0|index 10) Array index =value; ,索引,Public class Test public static void Main() IndexerTest t=ne
3、w IndexerTest(); t3=256; t9=1024; for(int i=0;i10;i+) Console.Write(“0,5:d”,ti) ,继承、多态和抽象,继承性,继承 派生类 在派生类中调用基类构造函数 密封类,4.2 继承性,继承,继承描述了“是什么种类” ( is a kind of)的关系 派生类从基类继承属性和方法,实现了代码重用 派生类变得更专门化,父类,子类,动物,4.2.1 继承,创建派生类,public class Animal protected bool IsSleeping; public void Sleep() public void Eat
4、() public class Lion : Animal public void StalkPrey() . Lion adoptedLion = new Lion(); adoptedLion.StalkPrey(); adoptedLion.Eat();,在派生类中调用基类构造函数,在派生类中使用关键字 base 以调用基类的非缺省构造函数,public class Animal public Animal(GenderType gender) / . . . Console.WriteLine(Constructing Animal); public class Elephant :
5、Animal public Elephant(GenderType gender): base(gender) /Elephant code Console.WriteLine(Constructing Elephant); ,密封类,不能从密封类派生 防止类在子类中被重载,或被第三方扩展,public sealed class MyClass / class members ,4.2.4 密封类,多态性,多态性 编写虚方法 抽象方法和抽象类,多态性,编写虚方法,使用虚方法定义在派生类中重载的基类方法,Base Class,Animal,Virtual Method,Eat (),Derive
6、d Class,Cat,Override Method,Eat (),Eat Mouse,Eat Something,What Happens,What Happens,public class Animal public virtual void Eat() Console.WriteLine(Eat something); public class Cat : Animal public override void Eat() Console.WriteLine(Eat small animals); ,在派生类中使用基类成员,在派生类中,通过使用关键字 base 可以访问基类成员,pub
7、lic class Cat : Animal public override void Eat() base.Eat(); Console.WriteLine(Eat small animals); ,虚方法例子,using System; public class Rectangle protected double a; protected double b; public Rectangle() public Rectangle(double a,double b) this.a = a; this.b = b; public virtual double Area() /虚方法 ret
8、urn a*b; ,虚方法例子,public class Cylinder:Rectangle public Cylinder(double h,double r):base(h,r) public override double Area() /重载虚方法 return 2*Math.PI*b*b + 2*Math.PI*a*b; public class Test public static void Main() Rectangle r = new Rectangle(1,10); Cylinder c = new Cylinder(4,2) ConsoleWriteLine(“矩形的面
9、积:0”,r.Area(); ConsoleWriteLine(“圆柱体的表面积:0”,c.Area(); ,抽象方法和抽象类,抽象类是基类 包含一些特殊的方法,该类对这些方法不提供实现,但是该类的派生类必须实现这些方法,这些方法称为抽象方法 可以包含非抽象方法,public abstract class Animal public abstract void Eat(); public abstract Group PhylogenicGroup get; ,抽象类例子,using System; public abstract class Base protected double x;
10、protected double y; public Base(double x,double y) this.x = x; this.y = y; public abstract double X get; public abstract double Y get; public abstract double Area(); ,抽象类例子,public class Rect:Base public Rect(double a,double b):Base(a,b) public override double X get return x; public override double Y
11、 get return y; public override double Area() return X*Y ,抽象类例子,public class Test public static void Main() Rect r = new Rect(10,20); Console.WriteLine(r.Area(); ,Delegate和事件,什么是Delegate Delegate的声明 Delegate的使用 多重代理 Delegate的应用场合 事件的声明和使用,什么是Delegate,简单的说:Delegate是一种面向对象,类型安全的新的引用数据类型。 它是由C/C+中的函数指针发
12、展而来 不同的是Delegate是一个对象类型,它封装了带有特定参数和返回类型的一类方法。,什么是Delegate Delegate的声明 Delegate的使用 多重代理 Delegate的应用场合 事件的声明和使用,Delegate的声明,modifiers delegate result-type indentifier (format-parameters),Delegate的使用,1) = new () 2) (),创建代理对象,调用代理对象,Delegate的使用代码举例,/DelegateTest1.cs using System; delegate int MyDelegate
13、(int i); public class CBase public static int StaticMethod(int i); Console.WriteLine(“静态方法:0”, i); return 0; public int InstanceMethod(int i) Console.WriteLine(“实例方法:0”, i); return 0; ,Delegate的使用代码举例,public class Test public static void Main() CBase b = new CBase(); MyDelegate d1 = new MyDelegate(b
14、.InstanceMethod); MyDelegate d2 = new MyDelegate(CBase.StaticMethod); d1(1024); d2(4096); ,运行结果是: 实例方法:1024 静态方法:4096,Delegate和事件,什么是Delegate Delegate的声明 Delegate的使用 多重代理 Delegate的应用场合 事件的声明和使用,多重Delegate,多重代理简单的说就是:通过一条语句来执行多个方法。 1)这些方法必须具有相同的参数 2)而且这些方法的返回类型必须是void,多重代理代码举例,/multiDelegateTest1.cs
15、using System; public delegate void Message(); public class Messages public void Greeting() Console.WriteLine(“Welcome to Software Engineering institute!”); return; public static void DateAndTime() Console.WriteLine(DateTime.Now.ToLongDateString(); return; ,多重代理代码举例,public class MultiDemo public stat
16、ic void Main() Messages b = new Messages(); Message msg1 = new Message(b.Greeting); Message msg2 = new Message(Messages.DateAndTime); Message msg3 = msg1 + msg2; msg3(); Console.WriteLine(); msg3 = msg3 - msg2; msg3(); Console.ReadLine(); ,多重代理代码举例,运行结果是: Welcome to Software Engineering Institute! 2
17、008年10月16日 Welcome to Software Engineering Institute!,Delegate的应用场合,启动线程 事件编程 通用类库,class Sorter public static void Sort(objectsortArray, DeleSort deleMethod) class Methods public static void BubbleSort(object sortArray) public static void QuickSort(object sortArray) public static void SelectSort(obj
18、ect sortArray) public delegate void DeleSort(object sortArray); class MainEntryPoint static void Main() int sortList= new int 5 7,20,6,35,40; DeleSort deleBubble = new DeleSort(Methods.BubbleSort); Sorter.Sort(sortList,deleBubble); ,接口,目标,接口的声明 接口的成员 接口的实现 接口的继承,体验,设计主板、网卡、声卡三个类和一个PCI接口。通过它们的对话说明接口的
19、作用和功能。,接口声明,访问修饰符 interface /声明主体 例: interface IControl void Paint(); ,接口成员2-1,接口的成员包括从基接口继承的成员和由接口本身声明的成员。 接口的成员必须是方法、属性、事件或索引器。 接口不能包含常量、字段、运算符、构造函数、析构函数,也不能包含任何种类的静态成员。,接口成员2-2,所有接口成员都隐式地具有public访问属性。 接口成员声明中包含任何修饰符都属于编译时错误。 例: public delegate void StringListEvent(IStringList sender); public inte
20、rface IStringList void Add(string s);/方法 int Count get; /属性 event StringListEvent Changed;/事件 string thisint index get; set; /索引器 ,使用接口,什么是接口 接口的使用方法 如何使用实现了某接口的对象 如何继承多个接口 接口和抽象类的比较 建议 接口和 .NET 框架 课堂练习 使用接口,什么是接口,接口: 是引用类型,定义了一个规则 指定了构成接口的类必须提供的成员 包括方法、属性、索引器和事件等 不提供成员的实现方式 允许类继承多个接口,接口的使用方法,接口为不相关的类定义了相同的功能和行为 声明接口 实现接口,interface ICarnivore bool IsHungry get; Animal Hunt(); void Eat(Animal victim); ,如何使用实现了某接口的对象,is as,if ( anAnimal is ICarnivore ) ICarnivore meatEater = (ICarnivore) anAnimal; Animal prey = meatEater.Hunt(); meatEater.Eat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高炉配管工诚信道德能力考核试卷含答案
- 特定领域营销推广方案保证承诺书范文4篇
- 电动自行车装配工岗前改进考核试卷含答案
- 客户投诉处理流程化提升服务质量指南
- 量具和刃具制造工诚信知识考核试卷含答案
- 水泥混凝土制品养护工安全管理测试考核试卷含答案
- 豆制品制作工风险识别知识考核试卷含答案
- 化学农药生产工岗前生产安全意识考核试卷含答案
- 脂肪醇生产操作工岗前工作考核试卷含答案
- 环境内分泌干扰物生殖激素水平变化课题申报书
- 给药错误护理不良事件
- 企业数字化转型中的数据安全保障技术研究报告
- GB/T 23723.5-2025起重机安全使用第5部分:桥式和门式起重机
- 《中国革命的新道路》课件
- 数值分析(华东交通大学)知到智慧树章节测试课后答案2024年秋华东交通大学
- 施工作业A票操作手册
- 五年(2020-2024)高考生物真题分类汇编(全国版)专题14 神经调节(解析版)
- 第六章-专家系统与IDSS
- 2021年西藏地区中考满分作文《平凡生活别具温情》
- 傅里叶变换红外光谱仪FTIR简介课件
- 慢性疼痛的药物治疗:慢性疼痛的药物治疗方案
评论
0/150
提交评论