• 封装,继承,多态


    封装

    封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
    封装是面向对象编程语言对客观世界的模拟,客观世界的Field都是被隐藏在对象内部的,外界无法直接操作和修改。

    封装的目的 
    1、隐藏类的实现细节。 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限 制对Field的不合理访问。 
    2、可进行数据检查,从而有利于保证对象信息的完整性。
    3、便于修改,提高代码的可维护性

    为了实现良好的封装,需要从两个方面考虑
    1、将对象的Field和实现细节隐藏起来,不允许对外部直接访问。
    2、把方法暴露出来,让方法来控制对这些Field进行安全的访问和操作。

    注意:封装最常见的就是get规方法和set方法

    继承

    继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Java的继承具有单继承的特点,每个子类只有一个直接父类。 
    子类一旦继承了父类,就可以获得父类的全部Field和方法,但java的子类不能获得父类的构造器;虽然说子类只能有一个直接父类,但子类可以拥有无限多个间接父类。

    继承的实现

    Java的继承通过extends关键字实现,实现继承的类被称为子类,被继承的类被称为父类,有的也称其为基类、超类。
    java里子类继承父类的语法格式如下:
    修饰符 class SubClass extends SuperClass{
    // 类定义部分
    }

    多态

    什么是多态 ?
    当把一个子类对象直接赋给父类引用变量时,例如:SuperClass sc = new SubClass();,
    这个sc引用变量的编译时类型是SuperClass,而运行时类型是SubClass,当运行时调用该引用变量的方法时,其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这可能出现:
    相同类型的变量、调用同一个方法时呈现出多种不同的行为特征,这就是多态。

    字段不具备多态性

    与方法不同的是,对象的Field不具备多态性。
    java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可以能出现所谓的多态。


  • 相关阅读:
    2018 北京区域赛H
    LeetCode 第 207 场周赛
    LeetCode 第 209 场周赛
    LeetCode 第 211 场周赛
    PAT 甲级真题题解(121-155)
    PAT 甲级真题题解(63-120)
    PAT 甲级真题题解(1-62)
    Codeforces 1108E2 Array and Segments (Hard version)(差分+思维)
    Codeforces 1108F MST Unification(最小生成树性质)
    Codeforces 1092C Prefixes and Suffixes(思维)
  • 原文地址:https://www.cnblogs.com/t0404/p/10291090.html
Copyright © 2020-2023  润新知