黑马程序员技术交流社区

标题: 对抽象类的一些理解 [打印本页]

作者: 余银桂    时间: 2012-6-14 13:04
标题: 对抽象类的一些理解
  1. // 描述动物这个类
  2. abstract class Animal
  3. {
  4.         public String color;
  5.         public abstract void run();
  6.         public Animal(){
  7.                 color = "red";
  8.         }
  9. }
  10. // 描述狗的子类
  11. class Dog extends Animal
  12. {
  13.    public void run(){
  14.       System.out.println( super.color + "跑..........");
  15.    }
  16. }
  17. // 描述鸟的子类
  18. class Bird extends Animal
  19. {
  20.    public void run(){
  21.       System.out.println("飞..........");
  22.    }
  23. }
  24. // 描述鱼类
  25. class Fish extends Animal
  26. {
  27.          public void run(){
  28.       System.out.println("游..........");
  29.    }
  30. }
  31. class Demo1
  32. {
  33.         public static void main(String[] args)
  34.         {
  35.                 new Dog().run();
  36.                 new Bird().run();
  37.                 new Fish().run();
  38.                  
  39.                 System.out.println( i );
  40.         }
  41. }
复制代码
抽象类:
        当一个类在描述的时候,如果不懂得功能函数应该如何定义,那么该类就应该描述为抽象类,而该功能函数应该描述为抽象函数。

抽象类的实现方式:
       abstract  抽象的
       可以描述函数(抽象函数)和类(抽象类)。
       抽象函数不能有{}。
抽象类的特点:
       1. 有抽象函数的类,该类一定是抽象类。
       2. 抽象类中不一定要有抽象函数。
       3. 抽象类不能使用new关键字创建对象。
       4. 抽象类的作用主要为了提高代码的复用性,让子类来继承使用的。
       5. 编译器强制子类实现抽象类父类的未实现的抽象方法。 可以不实现,前提是子类的也要声明为抽象的。

抽象类的优点:
       1. 提高代码复用性
       2. 强制子类实现父类中没有实现的功能
       3. 提高代码的扩展性、便于后期的代码维护
编程习惯:
       1. 描述普通的类(一般根据现实生活中的名词 )
       2. 1中描述的类当中相互之间的有没有关系
       is  a
      has a
       3. 1中描述的类和类之间有没有重复的代码
             如果有描述新的类,并发生新的关系
       4. 如果新类描述中有的方法不知具体的实现,可以描述为抽象方法,
            包含抽象方法的类一定是抽象类。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2