昨天学习了面向对象的特性之一-----继承,今天要学习面向对象的特征之二--------多态
一, 什么是多态?
所谓多态,就是把子类对象当成父类对象来用.换句话说,就是认为"子类对象"是一种"父类对象".把子类对象当成父类对象来用,就是"多态"技术的核心.
具体编程时,有一个原则:所有父类对象出现的地方,都可以用子类对象代替.
二, 实现多态的方式有哪些?
多态的实现方法有两种:一就是上次学习的继承实现多态,二就是用接口实现多态.
继承实现多态:
父类 a ,子类, b
dim b1 as new b , dim a1 as a,
此时,子类代替父类, a1=b1,
父类代替子类, b1=Ctype(a1,b) '此时要经过转换才可以
接口实现多态:
接口的关键词是:Interface,接口中只有属性和Sub过程,没有任何的实现代码
例如: public interface Iexample
property name() as string
sub shout()
end interface
把类转换成接口:
public class dog
implements Iexample
public sub shout1() imeplements Iexample
......................
end sub
private _name as string
public property name() as string implements Iexample
get
return _name
end get
set(byval value as string)
_name=value
end get
end property
end class
在编码时,所有接口变量出现的地方,都可以用实现了这一接口的类变量代替.