面向对象的C#语言

面向对象的C#语言

ID:39749908

大小:364.51 KB

页数:68页

时间:2019-07-10

面向对象的C#语言_第1页
面向对象的C#语言_第2页
面向对象的C#语言_第3页
面向对象的C#语言_第4页
面向对象的C#语言_第5页
资源描述:

《面向对象的C#语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章面向对象的C#语言本章内容类、域、方法属性、索引类的继承修饰符接口结构与枚举面向对象:继承、封装、多态UML类图简介3.1类、域、方法定义类中的域和方法classPerson{publicstringname;publicintage;publicvoidsayHello(){Console.WriteLine("Hello!Mynameis"+name);}publicstringgetInfo(){return"Name:"+name+",Age:"+age;}}构造方法(1)构造方法的方法名与

2、类名相同。(2)构造方法没有返回类型,也不能写void。(3)构造方法的主要作用是完成对象的初始化工作。(4)构造方法一般不能显式地直接调用,而是用new来调用。缺省构造方法publicPerson(){}析构方法classPerson{……~Person(){……}}对象的创建Personp=newPerson(“Liming”,20);对象的使用Console.WriteLine(p.name);p.sayHello();方法的重载,签名publicvoidsayHello(){Console.Wri

3、teLine("Hello!Mynameis"+name);}publicvoidsayHello(Personanother){Console.WriteLine("Hello,"+another.name+"!Mynameis"+name);}OverloadingTest.cs使用thispublicPerson(intage,stringname){this.age=age;this.name=name;}publicPerson():this(0,""){//构造方法的其他语句;}应用示例:银行

4、系统系统中有几类对象?Account,Bank,ATM每个类中有什么域、方法?3.2属性、索引使用属性、索引的示例使用属性button1.Textbutton1.Text=“说你好”;含义相当于button1.SetText(“说你好”);Strings=button1.Text;含义相当于s=button1.GetText();使用属性strings=“abcde”;求出长度:s.Length含义上相当于s.GetLength();使用索引strings=“abcde”;求出第0个字符:s[0]含义上相

5、当于s.Get(0)privatestringmyName;publicstringName{get{returnmyName;}set{myName=value;}}对属性进行访问Personp=newPerson();p.Name=“LiMing”;Console.WriteLine(p.Name);编译器产生的方法是:voidset_Name(stringvalue);stringget_Name();PersonProperty.cs属性与域的比较(1)属性可以实现只读或只写,而域不能。(2)属性

6、的set方法可以对用户指定的值(value),进行有效性检查,从而保证只有正确的状态才会得到设置,而域不能。(3)属性的get方法不仅可以返回域变量的值,还可以返回一些经过计算或处理过的数据,如上例中的只读属性Info,它返回的由Name及Age组合过的字符串。(4)由于属性在实现时,实际上是方法,所以可以具有方法的一些优点,如可以定义抽象属性等等。索引(Indexer)修饰符类型名this[参数列表]{set{}get{}}使用索引对象名[参数]编译器自动产生两个方法,以供调用:Tget_Item(P)

7、;voidset_Item(P,Tvalue);IndexerRecord.cs属性与索引的比较属性索引通过名称标识通过参数列表进行标识通过简单名称来访问通过[]运算符来访问可以用static修饰不能用static修饰属性的get访问器没有参数索引的get访问器具有与索引相同的参数列表属性的set访问器包含隐式value参数除了value参数外,索引的set访问器还具有与索引相同的参数列表IndexerBitArray.cs3.3类的继承使用继承的示例我们定义的窗体publicclassForm1:Sys

8、tem.Windows.Forms.Form继承(inheritance)子类subclass、父类baseclass单继承所有的类都是通过直接或间接地继承object(即System.Object)得到的。classSubClass:BaseClass{……}示例classStudent:Person{//…..}继承子类自动地从父类那里继承所有域、方法、属性、索引等成员作为自己的成员。除了继承父类的成员外,子类还可以添加新

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。