zoukankan      html  css  js  c++  java
  • 20200729_面向对象三大特性

    1、面向对象三大特性

    封装、继承、多态

    2、封装

    封装--把对象的内部细节封闭起来,只提供操作对象属性的公共方法

    java里面通过将属性设置成私有的,对属性都使用暴露出来的公共接口去操作。这样数据才更安全、更好维护

    2.1 封装的好处

    通过公开方法访问数据,可以从方法里加入逻辑控制,避免不合理的访问,可进行数据检查,保证数据完整性,便于
    后期修改,提高代码的可维护性

    2.2 封装的实现

    • step1:属性私有化:隐藏对象的属性和实现细节,不允许外部直接访问
    • step2:使用公开的方法操作和访问属性(get/set)

    3、继承-关键词extends-super() this() 都必须要写到构造方法里面的第一行

    修饰符 class SubClass extends SuperClass
    {
    //类定义
    }

    java中的继承:继承是从已有的类中派生出新的类,新的类能继承已有类的属性和行为(方法),并能扩展新的
    能力。

    3.1 继承的好处

    • 提高了代码复用性 -- 提取公共部分到父类中,子类继承于父类
    • 代码的维护性更高

    3.2 继承特点

    • 如果一个类不继承任何类,默认继承Object,Object是java中的祖宗类。
    • Java是单继承(一个类只能继承于一个类),多层继承(一个父类可以有多个子类)。
    • 创建本类对象之前会先初始化父类对象
    • 子类不能继承父类的private成员(属性,方法)

    3.3 方法重写/覆盖

    前提条件:

    • 继承或者实现 ,子父类中出现了一模一样的方法
    • 修饰符、返回值、方法名、参数都必须一模一样

    作用:方法升级
    注意:子类不能重写父类的构造方法

    3.4 super关键字与this关键字

    • super指向父类(调用父类方法或属性时候用到)
    • this指向当前类(区分同名局部变量和全局变量)
    • super() 调用父类构造方法
    • this() 调用本类其他构造

    4、多态-方法重新,父类接收子类对象

    多态的概念

    • 用父类类型来接收子类的对象。Java通过方法重写来实现多态
    • 通过方法重写,子类可以重新实现父类的的某些方法,使其具有自己的特征
    • 通过方法重写,相同类型的对象,执行同一个方法表现出不同的行为特征,就称为多态

    优点
    提高代码的复用性,简化代码
    缺点
    不能使用子类特有方法
    可以使用强转,转成对应子类类型,解决这个问题。

  • 相关阅读:
    ROSBAG的使用以及TF_OLD_DATA问题
    cmake 编译安装库到指定目录
    QT 文件夹内文件查询与删除
    数组直接写入vector向量的方法与问题
    github上下载开源项目
    组件
    对象(二)
    对象(一)
    事件
    rem 、em
  • 原文地址:https://www.cnblogs.com/shishibuwan/p/13761344.html
Copyright © 2011-2022 走看看