C#学习笔记05(五):类成员的定义

C#学习笔记05(五):类成员的定义

ID:40533221

大小:105.00 KB

页数:7页

时间:2019-08-04

C#学习笔记05(五):类成员的定义_第1页
C#学习笔记05(五):类成员的定义_第2页
C#学习笔记05(五):类成员的定义_第3页
C#学习笔记05(五):类成员的定义_第4页
C#学习笔记05(五):类成员的定义_第5页
资源描述:

《C#学习笔记05(五):类成员的定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、定义域标准的声明格式:classMyClass{publicintMyInt;}这种声明格式的成员是可以对其进行初始化的。但是它是Myclass的公有成员,可在实例化Myclass的对象后进行初始化或修改操作。MyClassmyClass=newMyClass();myClass.MyInt=1;域(成员)也可以使用readonly关键字声明,表示这个域(成员)只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。classMyClass{publicreadonlyintMyInt;publicMyClass(){MyInt=1;}}或classMyClass{

2、publicreadonlyintMyInt=2;}如果我们使用关键字static将域声明为静态。classMyClass{publicstaticintMyInt;}我们要访问这个域(成员)则只能通过定义它的类来访问,通过类的对象实例是访问不到的。MyClass.MyInt=10;Console.WriteLine("{0}",MyClass.MyInt);二、定义方法方法的使用和域基本一样,同样在使用了static关键字后,这个方法就只能通过类来访问,不能通过对象实例来访问。例1:classMyClass{publicstringGetString(){return

3、"Hereisastring.";}}MyClassmyClass=newMyClass();Console.WriteLine("{0}",myClass.GetString());例2:classMyClass{publicstaticstringGetString(){return"Hereisastring.";}}Console.WriteLine("{0}",MyClass.GetString());但在方法的定义中,还可以使用以下几个关键字:virtual:方法可以重写。abstract:方法必须重写(只用于抽象类中)。override:方法重写了一个基类

4、方法(如果方法被重写,就必须使用关键字)。extern:方法定义放在其他地方。下面展示一个重载的例子:publicclassMyBaseClass{publicvirtualstringDoSomething(){return"Oldaction.";}}publicclassMyDerivedClass:MyBaseClass{publicoverridestringDoSomething(){return"Newaction.";}}classClass1{///

///应用程序的主入口点。///[STAThread]static

5、voidMain(string[]args){MyBaseClassoldthing=newMyBaseClass();Console.WriteLine("{0}",oldthing.DoSomething());MyDerivedClassnewthing=newMyDerivedClass();Console.WriteLine("{0}",newthing.DoSomething());}}运行结果为:我们在重写或定义方法的同时,如果使用了override关键字,那么我们也可以同时使用sealed关键字。使得派生类不能对此方法进行重载。大家请看下图:我们在定义M

6、yDerivedClass类中的DoSomething方法时没有使用sealed关键字,所以我们可以在它的派生类testOverride中重载这个方法。继续往下看:这时,我们在定义MyDerivedClass类中的DoSomething方法使用了sealed关键字,实现了将这个方法进行密封,使得其派生类不能对这个方法进行重载。三、定义属性属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值。忽略get块创建只写属性,忽略set块创建只读属性。privateintintVal;publicintVal{get{returnintVal;}set{i

7、f(value>=0&&value<=10)intVal=value;elsethrow(newArgumentOutOfRangeException("Val",value,"Valmustbeassignedavaluebetween0and10."));}}

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

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

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