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

面向对象三大特性.png

面向对象

1. 封装

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

2. 继承

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

继承的优缺点
优点:

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

缺点:

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

多态

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 4,900评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,364评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,611评论 0 11
  • 写在之前 因为简书字数限制,完整版地址:https://www.zybuluo.com/hainingwyx/no...
    hainingwyx阅读 14,754评论 0 41
  • 味精同学也是严重的拖延症呀,有时候总被许多事情拖得死去活来! 什么?拖延症竟然很大可能性是完美主义造成的? 拖延者...
    味精生活的味道阅读 2,325评论 0 0

友情链接更多精彩内容