c#network应用编程基础第04章 面向对象的高级编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:23 大小:179KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

c#network应用编程基础第04章 面向对象的高级编程.ppt

c#network应用编程基础第04章面向对象的高级编程.ppt

预览

免费试读已结束,剩余 13 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章面向对象的高级编程4.1封装、继承与多态4.1.1封装//MyClass.csusingSystem;namespaceConsoleTest{classMyClass{privateintnumber;publicintNumber{get{returnnumber;}set{if(value>0){number=value;}}}}}4.1.2继承继承(续)//MyNewClass.csusingSystem;namespaceConsoleTest{classMyNewClass:MyClass{privatestringstr="hello";publicvoidHello(){Number=2;Console.WriteLine(str);}}}4.1.3多态性1.虚拟方法在基类中,如果想让某个方法或者事件被扩充类重写,可以使用修饰符virtual表明:publicvirtualvoidmyMethod(){……//程序代码}扩充类则用override重写:publicoverridevoidmyMethod(){……//程序代码}使用虚拟方法与重写方法时,需要注意下面几个方面:1)虚拟方法不能声明为静态(static)的。因为静态的方法是应用在类这一层次的,而多态性只能在对象上运作。2)virtual不能和private一起使用。因为声明为private就无法在扩充类中重写了。3)重写方法的名称、参数个数、类型以及返回值都必须和虚拟方法的一致。//MyClass.csusingSystem;namespaceConsoleTest{classMyClass{publicvirtualvoidHello(){Console.WriteLine("123");}}}2.隐藏基类的方法在扩充类中,可以使用new关键字来隐藏基类的方法,即使用一个完全不同的方法取代旧的方法。与方法重写不同的是,使用new关键字时并不要求基类中的方法声明为virtual,只要在扩充类的方法前声明为new,就可以隐藏基类的方法。3.抽象类抽象类使用abstract修饰符,用于表示所修饰的类是不完整的,即类中的成员(例如方法)不一定全部实现,可以只有声明没有实现。抽象类只能用作基类。抽象类与非抽象类相比有以下主要不同之处:第一是抽象类不能直接被实例化,只能在扩充类中通过继承使用,对抽象类使用new运算符会产生编译时错误第二个不同点是抽象类可以包含抽象成员,而非抽象类不能包含抽象成员。当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员。4.2版本控制4.3接口4.4委托4.5序列化与反序列化4.6泛型处理常用泛型实验中用到的泛型实验中用到的泛型(续)实验中用到的泛型(续)实验中用到的泛型(续)