您的位置:首页 > 编程语言 > C#

.Net学习笔记----2015-07-22(C#基础复习09,虚方法、抽象方法、接口复习)

2015-07-22 12:49 1006 查看
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)、接口存在的意义就是为了多态

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("飞机也会飞");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: