java系列之 - 基础篇(2)- 面向对象三大特性(继承、封装、多态)

一 面向对象

  编程的目的是为了处理一系列问题,每一个问题的解决都会被拆分成一个一个处理过程,面向过程编程是指将过程封装为一个一个函数,将其按顺序逐个解决,而面向对象编程则是将这一过程封装成一个或多个对象进行处理,处理的逻辑在对象内部。

  面向对象优势: 复用性好,可读性好,扩展性好

  面向过程优势: 性能好

二 封装

  1 定义

    隐藏对象的属性和实现细节,仅对外提供公共访问方式

  2 目的

    将变化隔离,便于使用,提高复用性和安全性

  3 使用

    范围:全局(不同包) > 不同包子类 > 同一包中 > 同一类中

    说明:在某一范围中可访问,即表示在其子范围中也能访问

  public protect default private
修饰类 全局可访问 不允许修饰 同一包中可访问 不允许修饰
修饰属性 全局可访问

不同包的子类可以访问

同一包中可访问

同一类中可访问
修饰方法 全局可访问 不同包的子类可以访问 同一包中可访问 同一类中可访问

三 继承

  1 定义

    子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为

  2 目的

    代码复用

  3 使用

    1)关键字

      extends, implements

  4 继承的特性

    •   子类拥有父类非 private 的属性、方法。

    •   子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

    •   子类可以用自己的方式实现父类的方法。

    •   Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于   C++ 继承的一个特性。

    •   提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。少用继承,多用依赖

    

 四 多态

  1 定义

    多态是同一个行为具有多个不同表现形式或形态的能力。

  2 目的

    增强程序的灵活性(运行过程中可变换不同的能力)

  3 使用

    1)父类引用指向子类对象

    2)方法重载和重写

  参考: https://www.jianshu.com/p/7a5b0043b035

猜你喜欢

转载自www.cnblogs.com/jiangwq/p/12001636.html
今日推荐