黑马程序员技术交流社区
标题:
什么是抽象函数?
[打印本页]
作者:
jy郑娟
时间:
2013-3-15 14:45
标题:
什么是抽象函数?
什么是抽象函数?
作者:
李行周
时间:
2013-3-15 14:57
抽象类中可以定义抽象方法,如果一个方法要声明为抽象方法,则方法前加上abstract修饰符即可。抽象方法是一个新的虚方法,它不提供具体的方法实现代码。只能在抽象类中声明抽象方法,对抽象方法,不能使用static或virtual修饰符,而且方法中不能有任何可执行代码,只要给出方法的原型就可以了。
作者:
丘凤光
时间:
2013-3-15 15:20
当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取,这时,只能抽取功能定义,不能抽取功能主体。抽取出来的功能定义就是抽象函数。
如:
abstract class A
{
abstract void test(); //B、C类中抽取出来的抽象函数
}
abstract class B extends A //B继承A
{
void test()
{System.out.print("bbb");}
}
abstract class C extends A //C继承A
{
void test()
{System.out.print("ccc");}
}
复制代码
抽象函数的特点有:
1、抽象函数一定存在抽象类中;
2、抽象方法和抽象类都必须被abstract关键字修饰。
抽象函数没有什么特别的意义,抽象类和一般类没什么大的区别,仅仅是不让该类创建对象。
继承中,抽象类中的抽象函数要被使用,必须有子类复写期所有的抽象方法后,建立系类对象后调用。
作者:
宋健
时间:
2013-3-15 17:50
抽象函数无具体实现代码,子类重写抽象函数以实现多态。
作者:
李准
时间:
2013-3-16 01:08
C#允许把类和函数声明为abstract,抽象类不能实例化,而抽象函数没有执行代码,在子类中重写父类的方法。
作者:
秦二江
时间:
2013-3-16 15:20
抽象函数就是抽象方法
抽象类中的所有方法不一定全是抽象方法,但是包含抽象方法的类被称作抽象类
抽象方法 没有方法体,即方法没有 具体实现
同样 不允许包含 { }
例如:public abstract class Animal //编写类
{
public abstract string Sound(); //创建抽象方法
}
抽象方法的 实现 必须 让派生类实
在派生类中,必须实现基类中的抽象方法
在派生类中,必须使用override 关键字,来实现抽象的方法 来表示此方法 是对基类的抽象方法的实现
例子:
public class People:Animal //派生自Animal 类
{
public string country;
public override string Sound() //实现抽象方法
{
return "language"; //返回值
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2