封装是怎么实现的_ad13怎么添加封装

封装是怎么实现的_ad13怎么添加封装1.封装的概念(1)将东西包装在一起,然后以新的完整的形式呈现出来(即将属性和方法封装到类里面,通过添加访问修饰符来限制访问权限,以达到信息隐藏的目的)(2)信息隐藏:隐藏对象的实现细节,不让外部

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.封装的概念 

  (1)将东西包装在一起,然后以新的完整的形式呈现出来(即将属性和方法封装到类里面,通过添加访问修饰符来限制访问权限,以达到信息隐藏的目的)    (2)信息隐藏:隐藏对象的实现细节,不让外部直接访问到
    (3)将数据和方法包装进类中,加上具体实现的隐藏,共同被称作封装,其结果是一个同时带有特征和行为的数据类型。(定义类,定义其属性、方法的过程称为封装类)
    (4)信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因。
    (5)信息隐藏的原因包括:
        ①对模块的任何实现细节所做的更改不会影响使用该模块的代码
        ②防止用户意外修改数据
        ③使模块易于使用和维护
    (6)访问修饰符:
        ①public(公开的):该类或非该类均可访问,权限最大
        ②private(私有的):只有该类可以访问,权限最小
        ③protected(受保护的):该类及其子类的成员可以访问,同一个包中的类也可以访问
        ④默认:同一个包中的类可以访问
    (7)属性封装的实现
        ①修改属性的可见性来限制对属性的访问
        ②为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于公开对这些属性的访问接口
        ③在setter和getter方法中,根据需要加入对属性操作的限制

public class Demo {
private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
if (age < 22) {
System.out.println(“错误!最小年龄应为22岁!”);
this.age = 22;
} else {
this.age = age;
}
}
}
     注意:除非必须公开底层实现细节,否则应该将所有属性指定为private加以封装,让外界不能直接访问修改,只能对外界提供set/get方法。使用属性封装,通过增加数据访问限制,增强了类的可维护性。
    (8)封装方法的目的:
        ① 隐藏方法实现细节(方法体),向外部提供公开接口(方法头),以供安全使用
        ② 简化调用,方便修改维护
        ③ 根据需要,可以私有化方法以供类内部使用
类的修饰符:
    1.前缀修饰符(public,abstract,final)
    2.后缀修饰符(extends,implements)

2.构造方法
    (1)类的构造方法的概念和作用
        构造方法负责对象初始化工作,为对象的属性赋合适的初始值。创建对象时,其类的构造方法确保在用户操作对象之前,系统保证初始化的进行。(即对属性进行初始化)
    (2)构造方法的语法规则
        ① 构造方法名与类名相同
        ② 没有返回类型
        ③ 方法实现主要为字段赋初始值
    (3)构造方法的调用
             构造方法的调用很特别:通过new操作符(返回新建实例的引用),即创建对象的同时调用构造方法来对属性进行初始化。也就是在我们创建对象的时候自动调用的。注意:当我们在构造一个对象的时候,一定会调用构造方法,所以java系统保证每一个类都有构造方法。当一个类没有显示声明构造方法的时候,系统会有一个默认的无参构造方法。

 

3.this关键字
(1)this关键字的特点:
       ① 在类的方法中使用this关键字代表的是调用此方法的对象的引用(可以认为this和引用变量是同一个人,存的是同样的地址)
       ② this可以看做是一个变量,它的值是当前对象的引用
       ③ 使用this关键字可以处理方法中的成员变量和形参同名的问题
       ④ 当在方法内需要用到调用该方法的对象时,就可以用this
       ⑤ 在类的构造方法中可以调用this([参数列表])来调用该类的指定构造方法

public class Teacher {
private String name = “”;
private int age;
private String city = “”;

public Teacher() {
System.out.println(“这是一个无参的构造方法”);
}

public Teacher(String name, int age, String city) {
// 当一个构造方法去调用另一个构造方法的时候,对this的调用必须是该构造器中的第一条语句,因为要确保初始化的操作先被执行
// 构造方法中的this指的是正在被创建的对象
this();
this.name = name;
this.age = age;
this.city = city;
}

// 同一个类中的方法去调用同一个类中的其它方法的时候,this可加可不加,不加时,程序在编译的时候会自动加上。
public String toString() {
// 这里的this可以省略不写
return “名字:” + this.name + “,年龄:” + this.age + “,城市:” + this.city;
}
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166607.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • tabnine 激活码【注册码】

    tabnine 激活码【注册码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 网关gateway详解_网关使用

    网关gateway详解_网关使用见:https://baike.baidu.com/item/%E7%BD%91%E5%85%B3/98992?fr=aladdin及其它。网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通…

    2022年10月26日
  • python最长回文子串动态规划_最长回文子串问题

    python最长回文子串动态规划_最长回文子串问题问题描述回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。方法一:暴力求解遍历每一个子串,再判断这个子串是不是回文串,最后判断这个串是不是最长的回文子串。遍历子串的复杂度是O(n^2),判断是不是回文串的复杂度是O(n),所以这个算法的复杂度是O(n^3)。方法二:动态规划法用一个二维的数组ai来表示从第i位到第j位的子…

  • html5添加网页背景音乐完整代码_网页添加音乐播放

    html5添加网页背景音乐完整代码_网页添加音乐播放方式一:<audiosrc=”static/sound/happyBirthday.mp3″autoplay=”autoplay”preload=”auto”controls=”controls”></audio>或<audioautoplay=……><sourcesrc=”static/sound/happyBirthda…

  • 使用Diskgenius将U盘分区,分为启动盘和文件存储两大功能详解

    使用Diskgenius将U盘分区,分为启动盘和文件存储两大功能详解DiskGenius是一款集分区办理与数据规复功效的东西软件。它是在最初的DOS版的底子上开辟而成的。准备工作:1.DiskGenius软件2.带有系统的U盘(我是用ULtraISO软件将ISO镜像写入到U盘的,方法:http://jingyan.baidu.com/article/a948d651b0f6a20a2dcd2eae.html)3.电脑第一步:将U盘中的系

  • VB程序设计教程(第四版) 龚沛曾

    VB程序设计教程(第四版) 龚沛曾VB程序设计教程(第四版)龚沛曾课后习题答案目录第一章课后答案第二章课后答案第三章课后答案第四章课后答案第五章课后答案第六章课后答案第七章课后答案第八章课后答案….第一章课后答案1、简述VisualBasic的特点。答:(1)具有基于对象的可视化设计工具(2)事件驱动的编程机制(3)提供易学易用的应用程序集成开发环境(4…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号