比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /抽象类与具体类的区别

抽象类与具体类的区别

2011年6月22日发布的Indika

抽象类vs具体类

大多数流行的现代面向对象编程语言,如Java和c#,都是基于类的。它们通过使用类实现了面向对象的概念,如封装、继承和多态性。类是现实世界对象的抽象表示。类可以是具体的,也可以是抽象的,这取决于它们的方法功能的实现级别。一个具体的类完全实现了它的所有方法。抽象类可以被认为是常规(具体)类的有限版本,其中可能包含部分实现的方法。通常,具体类被称为(仅仅)类。

什么是具体班级?

默认类是一个具体类。class关键字用于定义类(例如在Java中)。通常它们被简单地称为类(没有形容词具体)。具体类描述了真实世界对象的概念表示。类有称为属性的属性。属性被实现为全局变量和实例变量。类中的方法表示或定义这些类的行为。类的方法和属性称为类的成员。通常,封装是通过将属性设置为私有,同时创建可用于访问这些属性的公共方法来实现的。对象是类的实例。 Inheritance allows the user to extend classes (called sub classes) from other classes (called super classes). Polymorphism allows the programmer to substitute an object of a class in place of an object of its super class. Typically, the nouns found in the problem definition directly become classes in the program. And similarly, verbs become methods. Public, private and protected are the typical access modifiers used for classes.

什么是抽象类?

抽象类使用Abstract关键字声明(例如在Java中)。通常,抽象类,也被称为抽象基类(ABC),不能被实例化(该类的实例不能被创建)。因此,抽象类只有在编程语言支持继承(从扩展类创建子类的能力)的情况下才有意义。抽象类通常表示部分实现或不实现的抽象概念或实体。因此,抽象类扮演父类的角色,派生出子类,因此子类将共享父类的不完整特性,并且可以添加功能来完成它们。

抽象类可以包含抽象方法。继承抽象类的子类可以实现这些(继承的)抽象方法。如果子类实现了所有这些抽象方法,它就成为一个具体类。但如果没有,子类也会变成一个抽象类。这一切意味着,当程序员将一个类指定为抽象类时,她是在说这个类将是不完整的,它将有需要由继承的子类完成的元素。这是在两个程序员之间创建契约的好方法,它简化了软件开发中的任务。编写代码来继承的程序员需要精确地遵循方法定义(当然也可以有自己的实现)。

抽象类和具体类的区别是什么?

抽象类通常有部分实现或没有实现。另一方面,具体类总是具有其行为的完整实现。与具体类不同,抽象类不能实例化。因此,为了使抽象类有用,必须对它们进行扩展。抽象类可以包含抽象方法,但具体类不能。当一个抽象类被扩展时,所有的方法(包括抽象的和具体的)都会被继承。继承的类可以实现任何或所有方法。如果所有的抽象方法都没有实现,那么这个类也会变成一个抽象类。

相关文章:

虚拟与抽象的区别 对象和类的区别 程序设计中过程和函数的区别 Hashtable和Hashmap的区别 实现和扩展之间的区别

了下:编程标记:抽象基类(ABC),抽象类,摘要关键字,抽象方法,C,子类,类关键字,具体类,默认的类,封装,继承,继承的类,Java,就类,类的成员,面向对象的概念,面向对象编程语言,父类,多态性,普通班,子课,超类

关于作者:Indika

Indika,二元同步通信。工程硕士,计算机工程博士。计算机科学副教授,主要研究方向为生物信息学、计算生物学和生物医学自然语言处理。

评论

  1. 优说

    2017年11月4日晚9点

    优秀的文章! !祝你好运。

    回复

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

对羟基苯甲酸酯和石蜡的区别是什么

对羟基苯甲酸酯和石蜡的区别是什么

纳尔逊·曼德拉和圣雄甘地的区别

红米和白米的区别

非霍奇金淋巴瘤与白血病有何区别

非霍奇金淋巴瘤与白血病有何区别

凝胶电泳和纸电泳的区别是什么

凝胶电泳和纸电泳的区别是什么

最新的文章

  • 尿潴留和尿失禁的区别是什么
  • FASTA和FASTQ有什么区别
  • 教科书和参考书的区别是什么
  • 氨气制冷剂和氟利昂制冷剂有什么区别
  • 饱和蒸汽和过热蒸汽有什么区别
  • 运动障碍和运动障碍有什么区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.