抽象类和接口总结

来源:互联网 发布:淘宝联盟 提现 手续费 编辑:程序博客网 时间:2024/05/27 09:48

2010年8月30日21:12:22

1、在作用上的理解:类是对一系列具有相同或相似属性和功能的对象的抽象和归纳。

抽象类是一种没有足够信息来描述一个的对象的类,它是概念的抽象,例如交通工具,乐器,动物,形状等等,抽象类是通过继承来实现的,而继承条件是两个类之间具有概念上is~a的关系,继承可以加强代码的重用性,但这并不是继承的初衷,继承是为了抽象,是为了把代码中"像"的部分拿出来放进父类中。

  类是对属性和方法的封装,类与外界交流的通道是方法,这些方法就可以称为类对外的接口。

  接口是一套规范,它规定实现该接口的类怎样和外界交流,它是方法抽象,例如手机、照相机、照相手机,手机具有方法打电话,照相机可以照相,照相手机具有上述两种功能,那么他们的这些方法就可以用接口来定义,因为他们相同的部分是方法上的,而不是is~a的关系,是类似like~a的关系。

2、设计上的理解:分离是面向对象思想的重要设计准则,我们关心的是对象具有那些属性和方法,它们是一个整体。而抽象类和接口可以有效地体现方法的实现细节和表现形式的分离。我们可以修改我们的方法实现细节而不会影响用户的正常使用,我们可以扩展新的功能、属性,而不必修改太多的代码。

3、定义语法: 抽象类被 abstract  修饰的类就是抽象类      接口是用 interface 修饰的

抽象类中可以有非抽象的方法,接口中的方法都是抽象(public abstract )的、属性都是静态的常量(public static  final )。

 

interface Sound{

        public  abstract  void suond();

}

abstract class Animal{

        int  legs;

        public Animal(int legs){

              this.legs=legs;

        }

         public abstract  void run();

}

class Cat extends Animal implements Sound{

       Cat( final int legs){

            super(legs);

        }

        public void run(){

            System.out.println("跑步的.....");

        }

        public void suond(){

            System.out.println("猫在叫.....");  

        }

}

class Radio implements Sound{

        public void suond(){

            System.out.println("收音机的声音.....");  

        }

}

 

原创粉丝点击