黑马程序员技术交流社区
标题: 什么是抽象方法 [打印本页]
作者: 许万里 时间: 2013-3-11 09:48
标题: 什么是抽象方法
给我讲下抽象方法呗 谢谢 语法 用处什么的
作者: 许庭洲 时间: 2013-3-11 20:04
本帖最后由 许庭洲 于 2013-3-11 20:06 编辑
1. 抽象类也可以定义抽象方法。方法是将关键字 abstract 添加到方法的返回类型的前面。
例如:
public abstract class A
{
publicabstract void DoWork(int i);
}
2. 抽象方法没有实现,所以方法定义后面是分号,而不是常规的方法块;
3. 抽象类的派生类必须实现所有抽象方法;
4. 当抽象类从基类继承虚方法时,抽象类可以使用抽象方法重写该虚方法;
例如:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class D
{
public virtual void DoWork(int i)
{
//Original implementation.
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public abstract class E : D
{
public abstract override void DoWork(int i);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class F : E
{
publicoverride void DoWork(int i)
{ //New implementation. }
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
5. 如果将虚方法声明为抽象方法,则它对于从抽象类继承的所有类而言仍然是虚的;
6. 继承抽象方法的类无法访问该方法的原始实现。在前面的示例中,类 F 上的 DoWork 无法调用类 D 上的 DoWork。在此情况下,抽象类可以强制派生类为虚方法提供新的方法实现。
作者: 孔健 时间: 2013-3-11 21:20
.抽象方法就是在声明方法时加上abstract关键字,要注意以下两点:
1. 抽象方法必须声明在抽象类中
2. 声明抽象方法时,不能使用virtual static private 修饰符
抽象方法声明引入了一个新方法,但不提供该方法的实现,由于抽象方法不提供方法的实现 ,因此抽象方法的方法体只能包含一个分号.
当从抽象类派生一个非抽象类时,需要在非抽象类中重写抽象方法,以提供方法的实现,重写抽象方法时使用override关键字.
作者: 秦二江 时间: 2013-3-14 18:24
抽象类中的所有方法不一定全是抽象方法,但是包含抽象方法的类被称作抽象类
抽象方法 没有方法体,即方法没有 具体实现
同样 不允许包含 { }
例如:
public abstract class Animal //编写类
{
public abstract string Sound(); //创建抽象方法
}
抽象方法的 实现 必须 让派生类实
在派生类中,必须实现基类中的抽象方法
在派生类中,必须使用override 关键字,来实现抽象的方法
来表示此方法 是对基类的抽象方法的实现
public class People:Animal //派生自Animal 类
{
public string country;
public override string Sound() //实现抽象方法
{
return "language"; //返回值
}
}
作者: 黑马-蒋振军 时间: 2013-3-14 21:34
抽象方法:抽象方法其实就是方法中没有方法体的方法
注意事项:
1,该方法只能用abstract去修饰
2,当一个含有抽象方法的类被子类继承的时候,该方法必须被重写
目前能想到的只有这些,希望可以帮到你
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |