抽象类和抽象方法的特点
发布网友
发布时间:2022-04-20 06:27
我来回答
共4个回答
热心网友
时间:2022-04-22 10:39
含有抽象方法的类是抽象类,用abatract修饰的方法是抽象方法,抽象方法只有方法名、返回值、参数表,没有具体的实现过程,实现过程要在实现类中覆盖的方法中写
热心网友
时间:2022-04-22 11:57
//抽象方法:只包含方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。
//静态方法不能标记为
override、virtual
或
abstract,即静态方法都必须是具体的
/抽象类:含有一个或多个抽象方法的类称为抽象类,在声明时,类名前须添加"abstract"关键字
//抽象类中可以包含非抽象方法
//抽象类不能够被实例化,这是因为它包含了没有具体实现的方法,即可实例化的类一定不是抽象类,不包含未具体实现的抽象方法。
//子类继承抽象父类后,可以使用override关键字覆盖父类中的抽象方法,并做具体的实现。也可以不实现抽象方法,留给后代实现,这时子类仍旧是一个抽象类,必须声明为abstract
//继承的抽象方法不可以被隐藏
//隐藏:在子类中创建与父类中的方法具有相同签名(相同的方法名,相同的参数列表--参数类型和次序)的方法(可以带有"virtual"或"override"关键字)即可实现,但建议使用"new"关键字,以明确地隐藏。
//只能使用"override"关键字来覆盖(override)父类中标记为"virtual"、"abstract"或"override"的方法,而子类中标记为override的方法,也必须是父类中标记为"virtual"、"abstract"或"override"的方法。
//覆盖(override):必须使用override关键字,可以被覆盖的方法包括标记为abstract,virtual,和override的方法;
//隐藏:使用new关键字,也可不使用关键字,可以被隐藏的方法包括一般方法,和标记为virtual"或"override"的方法;
//重载(overload):不需要任何特殊的关键字
//静态方法可以被隐藏或重载
热心网友
时间:2022-04-22 13:32
有抽象方法的类必须被定义成抽象类,
抽象类的继承者必须实现抽象方法,否则也必须被定义成抽象的,由下一个继承者实现
抽象类不能实例化对象
热心网友
时间:2022-04-22 15:23
使用abstract来修饰
抽象类不能被实例化,只能被继承
抽象方法不能有方法体,子类必须重写抽象类中的所有方法