c#.net类和方法

c#.net类和方法

ID:37926674

大小:61.00 KB

页数:11页

时间:2019-06-02

c#.net类和方法_第1页
c#.net类和方法_第2页
c#.net类和方法_第3页
c#.net类和方法_第4页
c#.net类和方法_第5页
资源描述:

《c#.net类和方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、类1.1继承1.2一般的类1.3结构1.4枚举1.5抽象类1.6密封类1.7接口1.1继承类可以从其他类中继承。这是通过以下方式实现的:在声明类时,在类名称后放置一个冒号,然后在冒号后指定要从中继承的类(即基类)。1.2一般的类一般的类:都可以继承,都可以被实例化。1.3结构结构具有以下特点:·结构是值类型,而类是引用类型。·结构可以声明构造函数,但它们必须带参数。··尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。只能通过构造函数为其赋值·与类不同,结构的实例化可以不使用new运算符。·向方法传递结构时,结

2、构是通过传值方式传递的,而不是作为引用传递的。·接口不能继承。·结构可以实现接口。publicstructCoOrds{publicintx,y;publicCoOrds(intp1,intp2){x=p1;y=p2;}}1.4枚举枚举(enum)是值类型的一种特殊形式。如果不赋值,则自动从0开始。对于枚举还有以下附加限制:·它们不能定义自己的方法。·它们不能实现接口。·它们不能定义属性或事件。//定义枚举publicenumSeasons{Summer=1,Autumn=2,Winter=4,Spring=8}1.5抽象类关键字abs

3、tract,可以被继承,不能实例化。抽象类可以有抽象方法abstract,但是不都是抽象方法。抽象类的用途是提供多个派生类可共享的基类的公共定义。从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实实现。//定义一个抽象类publicabstractclassD{//抽象方法publicabstractintWorkNO();//非抽象方法publicstringDoWork(){return"Iamateacher!";}}抽象类中的抽象方法必须在其派生类中实现用overridepublicclassE:D{//实现抽象类

4、中的抽象方法publicoverrideintWorkNO(){return1;}}1.6密封类除非有充分的理由,否则不要密封类(对象占用的内存多,重量级的),成员多,不能继承,可以被实例化。如果类满足如下条件,则应将其密封:·类是静态类。·类包含带有安全敏感信息的继承的受保护成员。·类继承多个虚成员,并且密封每个成员的开发和测试开销明显大于密封整个类。·类是一个要求使用反射进行快速搜索的属性。密封属性可提高反射在检索属性时的性能。语法:publicsealedclassD{//Classmembershere.}1.7接口l接口就是纯

5、抽象类,只能包含抽象方法,只能被继承。l用interface声明。接口和纯抽象类也是有区别:。n接口中的方法不能用abstract和public。n在派生类中实现接口中的方法,不用写override,但是必须写public。l类只能被单继承,接口可以被多继承(多继承的时候,类在前,接口在后。)。接口只能被继承,不能被实例化。l在接口中不能定义成员变量。l接口不能定义构造函数。l接口的继承:n接口继承接口(接口的累加),相当于接口成员的累加。n类继承接口(实现接口),接口中的方法必须在派生类中实现定义接口:(不能用abstract和pub

6、lic)interfaceID{floatLength();floatWidth();}实现接口:(类继承接口)classBox:ID{//显式接口成员实现:publicfloatLength(){return40;}//显式接口成员实现:publicfloatWidth(){return50;}}接口的累加:(接口继承接口)interfaceIC:ID{floatArea();}实现://类继承实现接口classBox:ID{publicfloatLength(){return40;}publicfloatWidth(){return

7、50;}publicfloatArea(){return2000;}}2、方法静态函数析构函数构造函数方法的重载1.1多态性1.2重写/虚函数1.3方法的隐藏1.4抽象方法1.1多态性n多态性是智能重写n多态性-在运行时决定调用哪个方法n多态性需要虚函数,而虚函数则需要进行方法重写n多态性主要靠重载和重写,隐藏来实现1.2重写/虚函数重写/虚函数Virtual_Override(父类中用Virtual,子类中用Override)虚函数可以不override。基类:classClassBase{//虚函数publicvirtualstri

8、ngWork(){return"Iamateacher!";}publicstringName(){return"houyy";}publicstringstr="base变量";}派生类:classA:C

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

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

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