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("收音机的声音.....");
}
}