java基础 - 面向对象三大特性

java基础 - 面向对象三大特性_第1张图片
面向对象三大特性.png

面向对象

1. 封装

  • 定义
    隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
  • 目的
    增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。

2. 继承

  • 定义
    对象之间是:is-a关系
    通过 extends 来标明关系
  • 目的
    实现代码的复用

继承的优缺点
优点:

  • 1.代码重用,减少创建类的成本,每个子类都拥有父类的属性和方法
  • 2.子类和父类基本相似,但又与父类有所区别
  • 3.代码可在子类中得以扩展

缺点:

  • 1.继承是侵入性的,只要继承就必须拥有父类的所有属性和方法
  • 2.可能造成子类冗余、降低灵活性,因为子类必须拥有父类的属性和方法
    1. 增强了耦合性。 当父类的常量、 变量和方法被修改时, 需要考虑子类的修改, 而且在缺乏规范的环境下, 这种修改可能带来非常糟糕的结果——大段的代码需要重构。

多态

  • 定义
    相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。
    继承、重写、向上转型。
    父类引用指向子类对象

  • 目的
    程序的可扩展性及可维护性增强。

你可能感兴趣的:(java基础 - 面向对象三大特性)