9.抽象类和抽象函数

1.抽象函数语法特征(天生就是用来当爹的)

   定义:只有函数的定义,没有函数体的函数(没有实体)。不能被初始化。
   abstract void fun();使用abstract定义的类被成为抽象类
 
    特性:
   1.抽象类不能够用new生成对象,天生用来被继承;
      子类继承抽象类,再复写抽象函数,使该类就不是抽象函数。即可生成子类对象。
   2.如果一个类当中包含抽象函数, 则该类必须被声明为抽象类;
   3.如果一个类当中没有抽象函数,这个类也可以被声明为抽象类
      主要是不让别人生成对象。今后写程序用得到,abstract也称为基类,用来被继承。
   
2.抽象类可以有构造函数?
     条件:抽象类的确不能生成对象,但是因为继承,子类可以生成有构造函数,在生成子类对象的时候调用了抽象类的构造函数。抽象类必须要被extend过。Object不是完整意义上的抽象类,因为它没有必须被覆盖过的方法。
 
3.抽象类的作用
note:如果一段代码在语义上是有错误的,那么在语法上也应该有错误, 语法错误比语义错误更容易找到
        比如一个父类不是抽象类,那么在子类有可能对父类的部分函数忘记复写而不容易发现。
        如果一个类,某一个函数我们无法确定。必须用子类实现,无法通用,则把该函数定义为抽象函数,类定义为抽象类。
 



posted @ 2014-12-08 16:14  咖啡馆的水果拼盘  阅读(179)  评论(0编辑  收藏  举报