任何人谁拥有在编程方面一知半解,不知道为什么有抽象基类。 什么是他们的目的是什么? 如何创建一个抽象类? 什么是他们在实践中所提供的优势是什么? 他们为什么需要在规划及其实施的一些特点应该考虑?
抽象类
因此,在其中不能创建的对象的基础编程称为单位代码。 值得注意的是,这个类的继任者不能是抽象的。 因此,对象的基础上他们创作是完全可能的。 如果我们考虑了Java的例子中,我们建立,我们可以描述构造的A类,但使用它们,我们不能将模型。 摆脱这种局面的方法是声明任何变量的引用。 而你需要作出明确的规定,使其指向类A的对象这是怎么了可以做什么? 这将帮助我们带来。 应该记住的是,父类总是被认为比后代更通用承担。 在许多编程语言来自动实现。 但是,如果在这种机制的存在没有信心,那么你必须明确地引用的对象。
抽象方法
它们是什么? 摘要调用那些没有在这个类实现的方法。 因此,下面的括号(其列出了其中所用的参数)不给形状的开口(于是该方法的位于块描述),并且只有一个分号。 因此,在这种情况下,没有关于它做什么的信息。 这里的问题可能会问:“而且没有实现什么方法?” 毕竟,他是不是可以用! 当然,在课堂上,他被形容,这是不可能的。 但是,如果我们考虑从一个后代点的情况下,它可以被调用。 它会在这个类提供具体的说明进行操作。
特点抽象方法
有使用它们的局限性。 让我们考虑的例子Java编程语言。 有如果类具有至少一个这样的方法中,它必须是抽象的要求。 在任何情况下,它是适合使用这样的结构? 我们先来了解用一个例子类的宠物。 要开始明白,没有任何声音,他们出版。 因此,在最一般的类未设置声音的方法实现。 但设立的机构,其通过分开对他的块。 并且在下文中,创建狗类,猫或仓鼠时,将规定的其将公开的所有特征为它的单一方法中,在框架。
接口
在编程中创造了许多工具,其目的 - 帮助人们做出优质的产品。 而正在审议的议题应该给予这方面,和每个人都知道,从不同的接口的抽象类。 所以,最后的特点是,它不能是属性和方法都没有定义的身体。 通过检查从接口抽象类的区别,应该多停留在一个特定的。 因此,第一被继承,而第二个 - 得以实现。 没有经验的人,这似乎无关紧要。 但事实是,这是可以继承的只有一个类,并实现 - 尽可能必要的。 这就是从接口不同 的抽象类。 Java的 仍然是,它可以只说明抽象的公共方法和静态常量的功能。 但同时接口也可以继承。 有必要指出的是,所使用的运营商都通过公共公开。
接口的多重继承
这个功能在很多编程语言(例如,Java被我们视为)可用于类。 这是由于许多问题。 这样含糊表明,陆续出现。 这是引进多接口继承的原因。 这部分地解决了存在的问题,但不是全部。 因此,由于封装和多态的原则,接口可以成功地在不同的班级根据各种方法来实现(尽管它们具有相同的名称)。 但是不要忘了存在的问题。 因此,具有多个接口的工作时,必须始终指定我们心目中谁。 此外,该问题将是,当你试图在两个方面具有相同名称的工作 - 在这种情况下,他们将无法利用。 因此,在这种情况下,有必要采取总销售额的存在的照顾。
抽象数据
这个概念是关键程序。 在这种情况下,独立审查的抽象下,理解接口和实现分离。 让我们来看一个例子。 我们有一个电视,它是一个对象或模块。 它有一个接口。 这样,它们是控制,以及声音和图像。 更完善的接口使用,更舒适的电视使用。 我们可以按任意键程序之间切换。 在这种情况下,没有必要去想在电视的物理过程。 照顾他们的专家,谁收集装置。 我们喜欢的人只对性能感兴趣。 返回到编程,我们可以说,他们是一个类似的界面和执行。 此外,如果一个人在他的知识有信心,他可以“去除”覆盖我们假设的电视和改进它。 虽然这可能导致局部的成功,在大多数情况下,最终的结果是否定的。 因此,在访问的支持的编程禁止和隐藏的抽象数据的内部部件。 此机构的原理提供了一种方法,以防止内部元件的有意或无意的调节。 和谈论抽象数据类型时,一集一集,可以对它们进行操作的平均值。
对象
我们已经看到在一般和一般的抽象类和接口。 现在,让我们详细的我们的知识。 要开始注意的对象。 下面这些,一般来说,意识到存在于空间与时间的环境现实。 但正式确定对象内的程序是困难的(与视哲学和理论点)。 因此,由于其属性。 作为一个例子,执行下列操作:一个对象可以被唯一地识别(具有唯一名称),它是在一定的状态,并使用行为的特定图案。
遗产
由于可以基于对象之间的分层树建立关系,有人提出疑问的事实,该类型的父母代码库的基本性能进行了转移。 在继承理解的关系,当一个人重复的其他东西的行为和结构。 在平常的生活中,到处都可以找到。 这样的推迟和编程比较抽象的元素。 作为对比,事实上,有没有这样的身体像一只鸟。 这是一个抽象的名字。 作为一个具体的实例导致茶叶,南丁格尔或麻雀。 由于继承我们可以使用类库,以及开发这些特定的程序。 这个工具使我们能够创建新的对象,同时增加或改变的已创建的属性。 继承人得到所有的方法和他的祖先的领域,并获取其自身的属性,如果需要的话。 由于这样的事实,有抽象元素和遗产的原则,也有面向对象编程中修改大量的机会。 此外,它允许灵活的方式来解决问题。 当你继承一个新的类传输的数据和功能。
多态性
有必要采用同样的功能,解决不同类型的问题。 在这种情况下提供的不同的动作的可能性存在时,其内容将取决于与做功的对象的类型。 根据多态性明白,有一个共同的父,执行类似的方式不同问题的语义元素的属性。 我们绘制动物的比喻。 有行动 - 运行。 我们都知道是怎么回事了。 但是不同的动物(狮子,大象,猩猩,鳄鱼,乌龟)这个动作会以不同的方式进行。 在这种情况下,他们的行动是负责任的开发商,其在必要时可导致特定情况下,某个程序,算法和成功实施它。 这是使用了一套方法来完成。 在每个类程序员同时指定哪个对象的固有的性能。 在后代改变的东西,就可以实现在这种情况下,具体的,所需的操作。 这种效应被称为对象的多态性。 在一般情况下,一个抽象类是规划一个非常有用的工具。