面向对象-封装

作者: 我叫吴智斌 | 来源:发表于2018-10-30 10:52 被阅读5次

什么是封装
面向对象三大特征之一

1.把对象的状态和行为看成一个统一的整体,将字段和方法放到一个类中
2.信息隐藏:把不需要让外界知道的信息隐藏起来
尽可能隐藏对象功能实现细节,向外暴露方法,保证外界安全访问功能;

封装的好处
1.保证数据的安全
2.提高组件的复用性

使用private字段私有化变量



访问修饰符
访问权限修饰符来规定在一个类里面能看到什么,能暴露什么

访问修饰符 作用
private 表示私有的,表示类访问权限,只能在本类中访问,离开本类之后,就不能直接访问
protected 保护 表示子类访问权限,同包中的可以访问,不同包不能访问,继承也可以访问
public 表示全局的,可以公共访问权限,使用了public修饰,则可以在当前项目中任何地方访问
默认 表示包访问权限,访问者的包必须和当前定义类的包相同才能访问,没能继承

属性概念
什么是属性?
属性和字段类似,也是一个成员变量
但是必须要有getter/setter方法
getter/setter方法才是属性,没有就是字段
一般属性都是私有的,共有的别人可以直接获取何设置值

this关键字

在一个方法当中,要给变量赋值,它会先到方法当中去找有没有该变量,
如果有,就该方法内部的变量赋值,不会在往上去找了,如果没有,就往它上一级去找

在方法当中变量前加上了this,就代表直接给对象当中的字段赋值

this : "这个" 当前正在使用对象的地址

使用:
1.帮我们区分成员变量和局部变量的二异性,必须得要使用this

    String name;
    int age;


    User(String name, int age) {
        this.name = name;//赋值给成员变量
        this.age = age;
    }

2.在同类当中,实例方法的调用,前面其实是有this,可以省略

    void show() {
        System.out.println(this.name);
    }

    void sayHello() {
        this.show();
    }

3.可以把this作为参数传递
4.可以当做返回值
5.static 不能和this一起使用
JVM加载static字节码的时候,this是当前使用对象,对象都没创建出来,所以会报错
6.构造器的重载互调,this();此时this代表是构造器名,必须写到第一行

    User(String name){
        this.name=name;
    }

    User(String name, int age) {
        //必须写到第一行,this代表就是当前的构造器
        this(name);
        
        this.age = age;
    }

相关文章

  • python 面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 14.Python对象封装

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 面试 | java基础

    面向对象 1、面向对象特征? 封装封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成...

  • OC面向对象

    OC面向对象—封装 一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@in...

  • python 面向对象封装案例 II

    面向对象封装案例 II 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一...

  • 面向对象核心技术

    面向对象核心技术 面向对象编程有3大基本特性:封装、继承和多态。 (1)类的封装:封装是面向对象编程的核心思想。封...

  • 面向对象, equals与 ==区别演示,print与print

    一. 面向对象 1.理解面向对象的概念 类与对象 三大特征:封装示例封装演示 面向对象: 在调用对象时,除了要指定...

  • 面向对象之封装

    面向对象之封装 封装是面向对象最重要的特征之一,封装就是指隐藏。 对象隐藏了数据(例如priv...

  • 2019-01-06

    面向对象的三大特点(封装,继承,多态)基于对象 (封装)OOA 面向对象的分析(OOA,Object Orient...

  • 面向对象三大特性

    面向对象 三大特性 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事...

网友评论

    本文标题:面向对象-封装

    本文链接:https://www.haomeiwen.com/subject/tbhbtqtx.html