栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面向对象之封装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面向对象之封装

### 面向对象中的封装

一、封装的定义是什么?

在面向对象程式设计方法中,封装(英语: Encapsulation) 是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障, 防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能:在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

二、封装的优点

1.良好的封装能够减少耦合度。
2.类内部的结构可以自由修改。
3.可以对成员变量进行更精确的控制。
4.隐藏信息,实现细节。

三、封装的步骤及格式

第一段代码:

(注:以下两段代码是放在同一个类Person02中实现的)

public class Person02 {
	
	private String name;
	
	
	private int age;
	
	
	private int sex; 
}

第二段代码:

	public void setAge(int b) {
    //set方法命名规范:public void(因为set方法没有返回值) set+属性名“注意首字母大写”(形参){}
	//在程序的入口进行业务逻辑判断
		if (b < 0 || b >150) {
			System.out.println("输入有误");
			return;
	}
		age = b;
	}
	public int getAge() {	
    //get方法命名规范:public int(因为get方法有返回值类型) get+属性名“注意首字母大写”(){}
		return age;
	}

	public void setName(String a) {
		name = a;
	}
	public String getName() {
		return name;
	}
	
	public void setSex(int c) {
		sex = c;
	}
	public int getSex() {
		return sex;	
	}	
}

进行方法的调用:

public class Person02Test {
	@Test
	public void test01() {
        //创建Person02对象
		Person02 person02 = new Person02();
        //给名字赋值 引用.方法名(实参)
		person02.setName("java");
		//用get方法读值
		System.out.println(person02.getName());
		System.out.println("******************************");
		//给年龄赋值 引用.方法名(实参)
        person02.setAge(20);
        //读值
		System.out.println(person02.getAge());
		System.out.println("******************************");
        //给性别赋值 引用.方法名(实参)
		person02.setSex(1);
        //读取 这里进行了性别的判断
		System.out.println((person02.getSex() == 1? "男":"女"));
	}
}

输出的结果:

java
******************************
20
******************************
男

四、快速生成set方法和get方法
public class Person01 {
	
	String name;
	
	
	int age;
	
	
	int sex;
	}

1、当写完属性后,点击右键,找到source,将鼠标悬停。

2、在新展开的目录里找到Generate Getters Setters…点击打开。

3、在窗口的左上角和右上角根据自己的需求进行选择。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号