欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

封装的概念及必要性

程序员文章站 2024-03-01 10:37:34
...
package org.longIt.test.Encapsulation;
/*面向对象三大特征:封装、继承、多态
 * 
 * 封装讲解:
 *    类的设计:要把该隐藏的部分隐藏起来;要把用户操作接口暴露出来。
 *    合理隐藏,合理暴露。
 *             private    不写      protected       public
 *  当前类         *        *          *               * 
 *  同一个包                *          *               *
 *  当前类的子类                        *              *
 *  任意地方                                           *                                                                 
 *
 *    
 * */

public class Student {
	//定义成员变量并用private修饰符修饰,意味着成员变量只能在当前类中访问
	private String name;
	private int age;
	private char sex;
	//提供方法,外界可以通过方法来操作私有的成员变量
	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 < 0 || age > 130) {
			age = 0;
		}else {
		this.age = age;
	    }
	}
	public char getSex() {
		return sex;
	}
	public void setSex(char sex) {
		this.sex = sex;
	}
	

	

	}

package org.longIt.test.Encapsulation;

public class StudentTest {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		//创建学生实例
		Student student = new Student();
		//通过调用set方法给对象的name属性赋值
		student.setName("张三");
		//通过get方法取值
		String name = student.getName();
		System.out.println("name:"+name);
		//调用student的setAge方法给年龄赋值
		student.setAge(20);
		int age = student.getAge();
		System.out.println("age:"+age);

	}

}