多态
多态是由继承实现的,我们有一个基类,基类里定义了虚方法,当子类继承该基类时我们通过override关键字重写父类虚方法,此时不同的子类会有不同的实现,当我们调用这些子类的同一个方法时,却又不同的表现,这称之为多态
此时我们会有疑虑,我们为什么要使用多态呢,既然我们需要不同的实现,我们直接实例化需要的类就能达到效果,为什么还要多此一举,很多简单情况下是不需要的,但是对一些复杂的应用,会因为缺少组织和结构,使你的代码可读性会非常的差,也难于维护和扩展。
在实际应用中,我们为了使程序达到一种松耦合、易扩展的目的,会采用一些设计模式,正是因为有了这些特性,才能使我们的设计模式能够实现,比如说工厂模式,就充分利用了多态的特性,降低了调用者和被调用之间的紧耦合关系,把实例的创建交给工厂,调用者通过工厂来获得实例。
策略模式与简单工厂模式的不同
他俩的不同归结于策略类和工厂类的不同,工厂类返回的对象,而策略类是在选择一种算法,进而来使用它
.....待编辑
委托与事件
委托允许把方法作为参数进行传递,不受保护;事件,发布类可以订阅、调用,别的类只能订阅和取消订阅,能够防止客户端重置和调用