封装

举报
@小红花 发表于 2022/02/25 11:49:13 2022/02/25
【摘要】 什么是封装?现实生活中有很多现实的例子都是封装的,例如:手机,电脑,这些都是外部有一个坚硬的壳。封装起来,保护内部的部件,保证内部的部件是安全的,另外封装了之后,对于我么使用者来说,我们是看不见内部的复杂结构的,我们也不需要关心内部有多么复杂,我们只需要操作外部壳上的几个按钮就可以完成操作。 封装的作用?1.保证内部结构的安全。2.屏蔽复杂,暴露简单。 在代码级别上,封装有什么用?一个类体当...
  • 什么是封装?
    • 现实生活中有很多现实的例子都是封装的,例如:手机,电脑,这些都是外部有一个坚硬的壳。封装起来,保护内部的部件,保证内部的部件是安全的,另外封装了之后,对于我么使用者来说,我们是看不见内部的复杂结构的,我们也不需要关心内部有多么复杂,我们只需要操作外部壳上的几个按钮就可以完成操作。

 

  • 封装的作用?
    • 1.保证内部结构的安全。
    • 2.屏蔽复杂,暴露简单。

 

  • 在代码级别上,封装有什么用?
    • 一个类体当中的数据,假设封装之后,对于代码的调用人员来说,不需要关心的复杂实现,只需要通过一个简单的入口就可以访问了。另外,类体中安全级别较高的数据封装起来,外部人员不能随意访问,来保证数据的安全性。

 

  • 先不使用封装机制,分析程序存在什么缺点?
    • 类的属性对外暴露,可以在外部程序中随意访问,导致了不安全。

 

  • 怎么进行封装,代码怎么实现呢?
    • 1.属性私有化(使用private关键字进行修饰)
    • 2.对外提供简单的操作入口。

 

  • 封装的优点:
    • 1.数据安全了
    • 2.调用者也方便了

 

private表示私有的,被这个关键字修饰之后,该数据只能在本类中访问。出了这个类就无法访问了。

 

  • 访问需要两个入口:
    • 写一个方法专门来完成读(get)
    • 写一个方法专门来完成写(set)

 

带有static的方法怎么调用?

通过类名.的方式访问  (在同一个类时,可以省略类名.

只有方法修饰符列表有static的时候,才能使用类名.的方式访问。

 

没有static的方法被称为:实例方法(对象方法,对象级别的方法)

创建对象之后,用引用的方式访问。

 

当一个引用赋值为空时,就表示对象不存在,就会出现空指针异常,无法访问。

一个实例方法的调用必须有对象的存在。

 

  • 空指针异常导致的最本质的原因是?
    • 空引用访问实例相关的数据,会出现空指针异常。
    • 实例相关的包括:实例变量 + 实例方法

 

get读年龄,set改年龄,这个读和改都是操作的一个对象的年龄.(没有对象何来年龄)

对外提供公开的set方法和get方法作为操作入口,并且都不带static,都是实例方法。

  • 封装的代码实现两步:
    • 1.属性私有化
    • 2.一个属性对外提供set和get方法,外部程序只能通过set方法修改,
    • 只能通过get方法读取,可以在set方法中设立关卡来保证数据的安全性。

 

在强调一下:

set方法和get方法都是实例方法,不能带static

不带static的方法称为实例方法,实例方法的调用必须先new对象。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。