抽象类,抽象函数

什么时候使用抽象函数?

首先抽象函数必然在抽象类中,以父类的形式出现。

当子类均具有相同方法时,可以由于父类定义。

当不同部分子类有不同方法时,可以override该方法。但是,调用时必须以子类的形态出现,否则依然调用父类方法。

为避免出现子类父类方法调用不清的问题,将父类的方法设置为抽象类。子类单独定义即可避免调用父类方法。

案例:吃水果的流程

abstract class Fruit

{

protected override void Eat();

}

class Apple : Fruit

{

public override void Eat()

{

EatWithTooth();

}

}

class Pinapple : Fruit

{

public override void Eat()

{

Decladding();

EatWithTooth();

}

}

void Main()

{

Fruit apple = Pinapple();

}


--- Lan ([email protected])

时间: 2024-08-04 09:56:20

抽象类,抽象函数的相关文章

第二章 C#继承&继承类型&虚函数&抽象类&抽象函数&抽象方法&隐藏方法

继承:实现继承,接口继承. C#不支持多实现继承,支持多接口继承 public class Class4:Class3,IInterface1,IInterface2 { } 虚方法:virtual 基类中声明virtual方法,在派生类中可以重写,并且调用的时候总是调用重写的方法. public class Class1 { public virtual void A() { Console.WriteLine("Class1.A"); } public void B() { Con

【九】抽象类和抽象函数

1 class Chinese extends AbsPerson{ 2 3 Chinese(){ 4 super(); 5 System.out.println("Chinese的构造函数"); 6 } 7 //上面是该抽象类的构造函数 8 void eat(){ 9 System.out.println("用筷子吃饭"); 10 } 11 //override复写的抽象类里面的抽象函数,这样Chinese就可以用了 12 } 1 abstract class A

抽象函数和抽象类

函数由函数的定义(返回值类型.函数名和参数列表)和函数体构成. 抽象函数:只有函数的定义,没有函数体,使用abstract关键字定义.如 abstract void fun(); 错误原因:在一个类当中拥有一个或多个抽象函数,那这个类必须定义为抽象类. 什么是抽象类? 使用abstract定义的类叫做抽象类(基类). [1] 不能调用抽象类的构造函数从而生成抽象类的对象. [2] 一个类当中包含抽象函数,那么这个类必须是抽象类. [3] 一个类当中没有抽象函数,那么这个类也可以是抽象类. 抽象类

Java基础学习--抽象类与抽象函数

Java基础学习--抽象类与抽象函数 abstract class 抽象类不能制造对象,但是可以定义变量,赋给这个变量的一定是他非抽象子类的对象: 抽象类中的抽象函数没有函数体,例如:public abstract void move(); 一个抽象类可以没有任何抽象方法,所有的方法都有方法体,但是整个类是抽象的. 抽象类中所有的的抽象函数必需子类的覆盖,而非抽象函数不需要覆盖.因为子类会继承父类的函数,如果不去覆盖继承来的抽象函数,那么子类就含有抽象函数,含有抽象函数的类必须要声明为抽象类.

JAVA – 虚函数、抽象函数、抽象类、接口

1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为.如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数 PS: 其实C++和Java在虚函数的观点大同小异,异曲同工罢了. 2. Java抽象函数(纯虚函数) 抽象函数或者说是纯虚函数的存在是为了定义接口. C++中纯虚函数形式为:virtual void print(

C++虚函数virtual,纯虚函数pure virtual和Java抽象函数abstract,接口interface与抽象类abstract class的比较

由于C++和Java都是面向对象的编程语言,它们的多态性就分别靠虚函数和抽象函数来实现. C++的虚函数可以在子类中重写,调用是根据实际的对象来判别的,而不是通过指针类型(普通函数的调用是根据当前指针类型来判断的).纯虚函数是一种在父函数中只定义而不实现的一种函数,不能用来声明对象,也可以被称为抽象类.纯虚函数的实现也可以在类声明外进行定义.C++中的抽象类abstract class是指至少有一个纯虚函数的类,如果一个类全部由纯虚函数组成,不包括任何的实现,被称为纯虚类. Java中的普通函数

抽象类和抽象函数

面向对象应用(一) 被客户不断变化的需求"折磨" 根据客户要求,不同品牌的打印机具有开机.关机.打印功能,此处代码就不写了 1.抽象函数的语法特征 什么是抽象函数 只有函数的定义,没有函数体的函数被称为抽象函数: absyract void fun (); 2.抽象类的语法特征 什么是抽象类 使用abstract 定义的类被称之为抽象类: 1.抽象类不能够生成对象: 2.如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类: 3.如果一个类当中没有抽象函数,那么这个类也可以被声明

java4android (抽象类和抽象函数)

抽象函数的语法特征 抽象类的语法特征 抽象类的作用 抽象类就是用来被继承的 1.什么是抽象函数 只有函数的定义,没有函数体的函数被称为抽象函数: abstract void fun(); 2.什么是抽象类(一般称为基类) abstract class Person{} 使用abstract定义的类被称之为抽象类: (1)抽象类不能够生成对象: (2)如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类: (3)如果一个类当中没有抽象函数,那么在这个类也可以被声明为抽象类.(有时候让此类不能

15.抽象类和抽象函数

抽象函数的语法特征 定义:只有抽象的定义,没有函数体的函数被称为抽象函数 抽象类的语法特征 定义:使用abstract定义的类 抽象类不能够生成对象 如果一个类当中包含抽象函数,那么这个类也必须被声明为抽象类 如果一个类当中没有抽象函数,那么这个类也可以被声明为抽象类 抽象类的作用 不生成对象 生成基类 可以拥有构造函数 abstract classPerson{ String name; int age; void introduce(){ System.out.println("我的名字是&

JAVA 虚函数 抽象函数 抽象类 接口

1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为.如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数 PS: 其实C++和Java在虚函数的观点大同小异,异曲同工罢了. 2. Java抽象函数(纯虚函数) 抽象函数或者说是纯虚函数的存在是为了定义接口. C++中纯虚函数形式为:virtual void print(