Skip to content

wangchengming666/DesignPattern

Repository files navigation

面向对象的三大特性
  • 封装(Encapsulation)

隐藏对象的具体实现细节,通过共有方法暴露对象的功能。内部结构可以自由修改,同时可对成员进行更加精确的控制 (比如在setter方法中加值合法判断)

  • 继承(Inheritance)

使用已经存在的类作为基础类(父类),在此基础上建立新类(子类),子类既可复用父类的功能,也能进行扩展,从而实现代码复用。 另外Java是单继承的,可以通过接口和内部类实现多继承。但是有几点需要注意一下:

1.子类拥有父类非private的属性与方法

2.构造方法只能调用,不能实现,子类默认调用父类的无参构造方法,如果父类没有无参的构造方法,需要使用super显式调用!

3.慎用继承,要考虑是否需要从子类向父类进行向上转型!(转型要instanceof)
  • 多态(Polymorphism)

一个类实例的相同方法在不同的情形下有不同的表现形式。多态分为两种:方法重载和重写(主要描述父类和子类之前的多态)。

类与类间的关系
  • 继承,实现,依赖,关联,聚合,组合

  • 类的相关程度:继承 < 实现 < 依赖 < 关联 < 聚合 < 组合

  • 依次的UML类图标记

    • 继承

    继承

    • 实现

    实现

    • 依赖

    依赖

    • 关联

    关联

    • 聚合

    聚合

    • 组合

    组合

博客地址

About

设计模式是一个程序员迟早要掌握的技能

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages