.Net学习笔记----2015-07-22(C#基础复习09,虚方法、抽象方法、接口复习)
2015-07-22 12:49
1161 查看
1、关于虚方法的注意事项:
1)、父类中如果有方法需要让子类重写,则可以将该方法标记为virtual
2)、虚方法在父类中必须有实现,哪怕是空实现
3)、虚方法子类可以重写(override),也可以不重写
2、关于抽象方法的注意事项:
1)、需要用abstract关键字标记
2)、抽象方法不能有任何方法实现
3)、抽象成员必须包含在抽象类中
4)、由于抽象成员没有任何实现,所以子类必须将抽象成员重写。
3、抽象类的作用:抽象类的作用就是为了让子类继承
4、抽象类中可以包括抽象成员,可以包括有具体代码的成员
5、抽象方法不能用 static 修饰
6、接口
1)、接口中只能包含方法(属性、事件、索引器也都是方法)
2)、接口中的成员都不能有任何实现
3)、接口不能被实例化
4)、接口中的成员不能有任何访问修饰符。(默认为public)
5)、实现接口的子类必须将接口中的所有成员全都实现
6)、子类实现接口的方法时,不需要任何关键字,直接实现即可。
7)、接口存在的意义就是为了多态
1)、父类中如果有方法需要让子类重写,则可以将该方法标记为virtual
2)、虚方法在父类中必须有实现,哪怕是空实现
3)、虚方法子类可以重写(override),也可以不重写
2、关于抽象方法的注意事项:
1)、需要用abstract关键字标记
2)、抽象方法不能有任何方法实现
3)、抽象成员必须包含在抽象类中
4)、由于抽象成员没有任何实现,所以子类必须将抽象成员重写。
3、抽象类的作用:抽象类的作用就是为了让子类继承
4、抽象类中可以包括抽象成员,可以包括有具体代码的成员
5、抽象方法不能用 static 修饰
6、接口
1)、接口中只能包含方法(属性、事件、索引器也都是方法)
2)、接口中的成员都不能有任何实现
3)、接口不能被实例化
4)、接口中的成员不能有任何访问修饰符。(默认为public)
5)、实现接口的子类必须将接口中的所有成员全都实现
6)、子类实现接口的方法时,不需要任何关键字,直接实现即可。
7)、接口存在的意义就是为了多态
class Program { static void Main(string[] args) { //接口是什么?什么时候使用?接口的目的是什么?多态 //鸟会飞,飞机也会飞,都会飞,但是没法把飞这个行为提取为父类,因为没有一个东西可以作为飞机和鸟的父类 IFlyable fly = new MaQue(); fly.Fly(); Console.ReadKey(); } } public interface IFlyable { void Fly(); } public class Bird { } //public class QQ : Bird //{ //} public class MaQue : Bird, IFlyable { /// <summary> /// 这个是子类自己的飞方法 /// </summary> public void Fly() { Console.WriteLine("麻雀会飞"); } /// <summary> /// 显式实现接口方法,解决方法重名问题 /// </summary> void IFlyable.Fly() { Console.WriteLine("实现接口的飞方法"); } } public class Plane : IFlyable { public void Fly() { Console.WriteLine("飞机也会飞"); } }
相关文章推荐
- C#实现winform用子窗体刷新父窗体及子窗体改变父窗体控件值的方法
- C#获取关键字附近文字算法实例
- C# Dictionary用法总结
- C#使用iTextSharp设置PDF所有页面背景图功能实例
- C#反射机制 (转载)
- C#下载局域网共享文件夹中的文件
- DevComponents.DotNetBar2显示控件的方法
- DevComponents.DotNetBar2显示控件的方法
- C#远程发送和接收数据流生成图片的方法
- C# vs 2015 to automate ONE
- C#中如何简单的设置session的过期时间
- C#实现汉字转拼音或转拼音首字母的方法
- C#验证码识别类完整实例
- 关于Debug和Release的区别 (VS C#)
- c#导出Excel操作
- C#语言中条件与&&与条件或||的区别
- C#获取CPU编号的方法
- C#多线程分配
- C#调用Nero SDK刻录光盘的方法
- C#取得Web程序和非Web程序的根目录的N种取法