封装--Java面向对象特征之一

前言:众所周知java是一款面向对象(答辩)的编程语言,所以学好面向对象是必不可少的。不继续赘述废话,开始上课。

目录:

●封装的概念

1.1 封装的含义

1.2 封装的作用 

1.3 封装的要求

●封装的体现

2.1 get、set方法和封装

2.2 拓展 封装性在其他方面的体现

●权限修饰符

3.1 权限修饰符的介绍

3.2 权限修饰符的可见性

3.3 权限修饰符补充细节

4、拓展:Javabean的概念

4.1Javabean的定义

4.2Javabean的分类


封装的概念

1.1  封装的含义

  ▲封装就是一种设计思想(高内聚,低耦合)

        见名知意,封装就是将某种东西”包装起来“/”隐藏起来”。假如我现在要用洗衣机,只需要按一下开关就可以使用了,不需要将洗衣机内的电动机,定时器,传动部件..都了解清楚,因为这些东西都被”包装” 了起来。只需要调用者(我们)启动开关。

        程序中,我们要做的是将操作细节写完后进行封装,然后让调用者调用

程序中我们通常将属性和方法进行封装

Ps:这么说可能对于小伙伴们来说太抽象了对吧?没关系,接下来两个例子让你更好的理解

例子一:封装方法

 坚持看完的你是不是觉得渐渐清晰了?没错,封装起来的排序细节可以理解为洗衣机的”传动机部件”。调用者只负责按下按钮,也就是调用该功能就可以了。

例子二:封装(隐藏)属性

配合四种权限修饰符来做到封装隐藏,不懂的伙伴可以跳过,后文封装的体现会解答

1.2封装的作用 

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装的设计思想

1.3封装的要求

我们程序设计追求”高内聚,低耦合”

->高内聚:类的内部数据操作细节自己完成,不允许外部干涉

->低耦合:仅对外部暴露少量的方法用于使用

●封装的体现

2.1 get、set方法和封装

①get、set方法是java内的必备方法,你必须掌握。我们将类的属性xxx私有化(private)。同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值。

补充:为属性赋值有三种方法:①显式赋值  ②set方法赋值  ③构造器赋值(参考上篇类和对象文章)

私有化属性后只有第一种赋值会失效,但是在私有化属性当前的类中中还是可以显式赋值。

②语法格式:

权限修饰符+返回值类型+方法名(形参列表)

  1. public void setXxx(形参列表){}
  2. public String getXxx(){return XXX;}

例子一:

 //调用者通过set方法成功为私有化属性赋值了,弥补了上文不能显示赋值的方式。

③set get获取

  • 手打(初学建议)     初学的话按照语法格式好好打
  • 通过编译器快捷键生成(熟悉后建议)   -->Idea和Eclipse

IDEA编译器的步骤:1、按下快捷键alt+insert  2、选中getter和setter

Eclipse:①从工具栏中找到Source  ②点击Generate getters and setters

2.2拓展 封装性在其他方面的体现

封装的体现:①如上 ②不对外暴露的私有的方法 ③单例模式……

单例模式(感兴趣的伙伴可以了解下,后面也会详细介绍)

目的:只生成一个实例(对象),减少系统开销的一种设计模式

两种实现方式:

一、饿汉式

二、懒汉式

 

●权限修饰符

3.1权限修饰符的介绍

  • Java规定的4种权限(从小到大排列):private、缺省/默认(就是空着不写)、protected、public
  • 4种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
  • 具体的,4种权限都可以用来修饰类的内部结构(类的成员):属性、方法、构造器、内部类     修饰类的话,只能用:缺省、public

Java提供了4种权限修饰符来修饰类及类的内部结构,体现类的及类的内部结构再被调用时的可见性大小    -->也可以看做封装性的总结

3.2权限修饰符的可见性

 3.3权限修饰符补充细节:

①如果多个类在同一个java文件中,只能出现一个public的类哦

②权限修饰符不能修饰局部变量(回顾上章类和对象)

4、拓展:Javabean的概念

其实这个概念只要稍微了解一下就好,所以并没有纳入目录

4.1Javabean的定义

一个Java类满足以下2点 ,就可以称为JavaBean:

public 修饰的类 ,public 无参构造器(回顾上章类和对象)

所有属性(如果有) 都是private,并且提供set/get (如果boolean 则get 可以替换成is)

4.2Javabean的分类

①封装数据的Javabean

这种JavaBean也被叫做实体类,一般来说对应的是数据库中的一张表,如下

如上对应的表:

 

②封装逻辑的Javabean

这种JavaBean用于实现业务逻辑。目的是为了提高代码的复用和解耦

例如:设计一个管理系统,为其提供util工具类,代码如下

我趣我写的学生管理系统工具类找不到了,下次再讲吧,抱歉抱歉

 封装性的总结:Java提供了4种权限修饰符来修饰类及类的内部结构,体现类的及类的内部结构再被调用时的可见性大小。

封装的内容结束啦,如果觉得这篇文章没啥用,对你一点帮助都没有,

那就转发给你那些爱学习的同学和朋友八~

点赞什么的都不重要!!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值