zoukankan      html  css  js  c++  java
  • 1 请谈谈面向对象的三大特征?

    封装

    隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的读取和修改的访问级别;

    封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据和操作数据的源代码有机结合,形成 "类",其中属性和函数都是类的成员。

    封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

    继承

    子类继承父类的特征和行为,使得子类具有父类的属性和方法;

    子类的创建可以增加新数据、新功能,可以继承父类的全部功能,但是不能选择性的继承父类的部分功能;

    继承是类与类之间的关系,不是对象与对象之间的关系。

    多态

    父类的引用指向子类对象;

    允许不同子类的对象对同一消息作出不同的响应,即同一消息可以根据发送对象的不同而采用不同的行为方式 (发送消息就是函数调用) 。

    多态的实现机制:动态绑定,指程序在运行期间会判断所引用对象的实际类型,根据其实际类型调用对应的方法。

    多态的作用:消除类型之间的耦合关系。

    多态的三个必要条件:

      1)有继承关系

      2)子类重写父类方法

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

    多态的好处:

      1)可替换性:多态对不同的子类对象都能正常调用相关方法;

      2)可扩充性:多态对代码具有可扩充性,增加新的子类不影响已存在类的特性的运行和操作;

      3)接口性:多态是父类向子类提供一个公共接口,由子类完善或覆盖它而实现的;

      4)灵活性:应用中不同类型的子类通过重写公共方法,体现了灵活多样的操作;

      5)简化性:多态简化了代码编写和修改的过程。

  • 相关阅读:
    Guava入门第四章(Objects)
    Guava入门第三章(Preconditions)
    Guava入门第二章(Splitter)
    Guava入门第一章(Joiner)
    Docker入门第六章
    Docker遇到的问题
    Docker命令图
    2016-08-26-Java比较器的使用
    2017-10-6-MyBatis配置简述
    2017-9-17-Java Exception小结
  • 原文地址:https://www.cnblogs.com/xilichenbokeyuan/p/14139347.html
Copyright © 2011-2022 走看看