猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
什么时候使用抽象类?
这是有关抽象类的MSDN文章,但我真的不明白。。。
我什么时候应该真正使用抽象类?使用抽象类的优点是什么?
MMTTMM
浏览 816
回答 3
3回答
ITMISS
当您需要一个用于继承和多态性的类时,抽象类很有用,但是实例化该类本身,仅实例化其子类是没有意义的。当您要为一组共享一些通用实现代码的子类定义模板时,通常会使用它们,但同时您也要保证不能创建超类的对象。例如,假设您需要创建“狗”,“猫”,“仓鼠”和“鱼”对象。它们具有类似的属性,例如颜色,大小和支脚数量以及行为,因此您可以创建Animal超类。但是,动物是什么颜色?动物物体有几条腿?在这种情况下,实例化Animal类型的对象没有太大意义,而仅实例化其子类。抽象类在多态性方面还具有额外的好处-允许您将(抽象)超类的类型用作方法参数或返回类型。例如,如果您有一个带有train()方法的PetOwner类,则可以将其定义为采用Animal类型的对象,例如train(Animal a),而不是为Animal的每个子类型创建一个方法。
0
0
0
德玛西亚99
通过使用抽象类,我们可以使类更通用。例如:如果类A是一个抽象类,并且有类B,类C和类D扩展了抽象类A,则这些子类将继承一个已经在抽象类A中声明的方法,从而使该方法更加通用。
0
0
0
白猪掌柜的
当您在类层次结构中为类定义行为时,请使用抽象类,该行为永远不会直接用于实例化对象。因此,暂时将自己视为上帝。您的CBabyBoy和CBanyGirl类不会是抽象的-因为这些都是可以创建的固体对象。另一方面,您的CPerson和CAnimal类将是抽象的-从类型层次结构的角度来看,它们很有用,但您永远不会运行CAnimal dingbat = new Animal();
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续