`

类的封装性

 
阅读更多

类的封装其实就是封装其属性和方法,然后通过get、set方法去访问类内部。

封装属性:private 属性类型 属性名

封装方法:private 方法返回类型 方法名称(参数)

举例:

未封装时,可以通过对象直接去调用属性或方法

class Person {
	String name;
	int age;
	public void talk() {
		System.out.println("我是:" + name + ",今年:" + age + "岁");
	}
}

public class TestPerson {
	public static void main(String[] args) {
		// 声明并实例化一Person对象p
		Person p = new Person();
		p.name = "23123";
		p.age = -22;
		p.talk();
	}
}

无法控制属性值的合法性 

 

封装后,因为属性类型限制只能通过get、set方法访问属性或方法

public class Person {
	private String name;
	private int age;
	public void talk() {
		System.out.println("我是:" + name + ",今年:" + age + "岁");
	}

	public void setName(String str) {
		name = str;
	}

	public void setAge(int a) {
		if (a > 0)
			age = a;
	}

	public String getName() {
		return name;
	}

	public int getAge() {
		return age;
	}
}

class TestPerson {
	public static void main(String[] args) {
		// 声明并实例化一Person对象p
		Person p = new Person();
		// 给p中的属性赋值
		p.setName("张三");
		// 在这里将p对象中的年龄赋值为-25岁
		p.setAge(-25);
		// 调用Person类中的talk()方法
		p.talk();
	}
}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics