interface programming

    技术2024-11-01  27

    「针对接口编程」真正的意思是「针对超类型(s u p e r t y p e)编程」。

    「针对接口编程」,关键就在多态。     利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。「针对超类型编程」这句话,可以更明确地说成「变量的声明类型,应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量;这也意味着,声明类时,不用理会以后执行时的真正对象类型!」 看看下面这个简单的多态例子:假设有一个抽象类A n i m a l,有两个具体的实现(D o g与C a t)继承A n i m a l。「针对实现编程」,作法如下: Dog d = new Dog(); d.bark(); 但是「针对接口/超类型编程」,作法会如同下面: Animal animal = new Dog(); animal.makeSound(); 更棒的是,子类型实例化的动作不再需要在代码中硬编码,例如new Dog( ),而是「在运行时才指定具体实现的对象」。 a = getAnimal(); a.makeSound();

    最新回复(0)