前言


经过了设计模式的洗礼,面向对象的含义可以说是深刻理解了一番,欢迎大家查看我的博客怎么说面向对象,接着让我来阐述一下这几个内容23+0的设计模式,七大原则,面向对象的三大特点

23+0设计模式


先上图,不要怪我图的内容是中英结合的,因为这样可能还比较好理解,不然我怕连我都看不懂了,就有点尴尬了
设计模式之总结

为什么说是23+0,那个 0 是什么,是简单工厂,简单工厂模式属于类的创新型模式,又叫静态工厂方法模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,但是简单工厂并不算是GOF设计模式。

GOF 是 Gang of Four 因为《设计模式》这本书的作者是四个人写的,而这四个人常被人称为GOF,所以就有了这种名称

七大原则


单一职责(Single Responsibility Principle)

就一个类而言,应该仅有一个引起它变化的原因,某一个类应该专注于某一件事情

开放封闭原则(Open Close Principle)

对于扩展开放,对于更改是封闭的

里氏代换原则(Liskov Substitution Principle)

超类存在的地方,子类是可以替换的。

依赖倒转原则(Dependence Inversion Principle)

实现尽量依赖抽象,不依赖具体实现。

接口分离原则(Interface Segregation Principle)

应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。

迪米特法则(Law Of Demeter)

又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。

合成/聚合复用(Composite/Aggregate Reuse Principle CARP)

尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。

三大特征

封装

封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。

继承

继承,指可以让某个类型的对象获得另一个类型的对象的属性的方法。子类可以继承父类除private的所有属性,子类可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 继承的过程,就是从一般到特殊的过程。接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力。

多态

多态,是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,可以通过相同的方式予以调用。

Tips

重写
子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
重载
就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

相关文章: