Skip to content

Latest commit

 

History

History
53 lines (29 loc) · 2.33 KB

Java-基础篇(2)三大特性和六大原则.md

File metadata and controls

53 lines (29 loc) · 2.33 KB

三大特性

在 Java 编程中三大特性指的是封装、继承、多态

  • 封装:封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问优点:减少耦合,代码重用,减轻维护
  • 继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
  • 多态:指允许不同类的对象对同一消息做出响应。

多态

多态一般分为编译时多态和运行时多态,编译时主要指方法的重载;运行时主要指程序中定义的对象引用所指向的具体类型在运行期间才确定

运行时多态有三个条件:继承、覆盖和重写、向上转型(父类引用指向子类对象)


方法重载和重写区别

重写:发生在继承类中,方法名和参数列表相同,重写有以下三个限制:

  • 子类方法的访问权限必须大于等于父类方法;
  • 子类方法的返回类型必须是父类方法返回类型或为其子类型。
  • 子类方法抛出的异常类型必须是父类抛出异常类型或为其子类型。

重载:发生在同一个类中,方法名相同,参数列表不同(个数、类型、顺序),与权限修饰、返回值类型、抛出异常无关

注意:构造器是不可以被重写的,但是能重载。

构造方法有哪些特性?

  1. 名字与类名相同。
  2. 没有返回值,但不能用void声明构造函数。
  3. 生成类的对象时自动执行,无需调用。

六大原则

  1. 开闭原则:对扩展开发放,对修改关闭,要求在添加新功能时不需要修改代码,符合开闭原则最典型的设计模式是装饰者模式
  2. 单一职责原则:一个类只负责一件事,尽量使用合成/聚合的方式,而不是使用继承。
  3. 里式替换原则 :任何基类可以出现的地方,子类一定可以出现。
  4. 依赖倒转原则:依赖于抽象而不依赖于具体
  5. 接口隔离原则:使用多个隔离的接口,比使用单个接口要好 ,不应该强迫客户依赖于它们不用的方法。
  6. 迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用。