zoukankan      html  css  js  c++  java
  • 四、抽象类

    1.有了类,为什么还要有抽象类?

            类是对相同结构对象的抽象。一个类实例化出的对象结构都是相同的,但每个对象都是独立的个体,对象与对象之间具有相似性,但不相同。那么不同的地方在哪,在于属性值的不同,以及同名方法实现的不同。所以,结构相同的对象属于一个类。

            抽象类则是对相似结构类的抽象。当我们说说动物类的时候,动物类包括了人类,猪类,鸟类。那么动物就可以看作是这些类的抽象类。如果我们说生物类时,那就是更高一个层次的类的抽象,生物类中就包括了动物类,植物类,微生物类,等等。

            所以,可以看出,抽象类是对不同层次的抽象概念的再抽象。抽象类可以看作是对类的抽象。

    2.抽象类中有抽象方法,为什么还要有接口?

            衍生类通过继承,可以继承父类的属性和方法,抽象类中有抽象方法,衍生类需要实现抽象方法,和接口的功能是一样的。但是要知道,抽象类始终还是类,强调的是一组事物的相似性。继承抽象类的衍生类不管如何去实现所继承的抽象方法,但方法的行为总归还是属于该类的一种行为。而接口,则是规定了一组相似的行为,这个行为未必只有一种类的对象具有,例如:飞行。鸟类、昆虫类、飞机,这些明显不是一个种类的事物,但是都具有飞行的能力,所以这里就可以定义一个接口叫做飞行。

  • 相关阅读:
    Using Subversion and ViewCVS on Solaris 10
    Solaris开放源代码了!
    小笨霖英语笔记本(0)
    How to start CDE/JDS with xinit command
    英译汉练习:Solaris 10进入Linux领地
    UNIX/LINUX 平台可执行文件格式分析
    小笨霖英语笔记本(2)
    小笨霖英语笔记本(3)
    小笨霖英语笔记本(1)
    魔鬼城雅丹地貌
  • 原文地址:https://www.cnblogs.com/mysic/p/8450294.html
Copyright © 2011-2022 走看看