对于刚学习java的人来说可能不知道 封装性的好处,感觉麻烦,封装有很多好处。最主要的目的就是 保护内容。保证某些属性或者方法不被外部看见。
类的封装性即不能让外面的类随意修改一个类的成员变量;
在定义一个类的成员(包括变量和方法),使用private关键字说明这个成员的访问权限,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用;
为实现封装性,常将类的成员变量声明为private,再通过public的方法来对这个变量进行访问。对一个变量的操作,一般都有 读取和赋值操作,我们一般定义两个方法来实现这两种操作,即:getXxx()与setXxx();
一个类就是一个模块,我们应该让模块仅仅公开必须要让外界知道的内容,而隐藏其他的一切内容。再进行程序设计时,应尽量避免一个模块直接修改或操作另一个模块的数据,模块设计追求强内聚(许多功能尽量在类的内部独立完成,不让外面干预),弱耦合(提供给外部尽量少的方法调用)。
举个例子:
class Person{ private String name;//设置姓名属性 private int age;//设置年龄属性 public void setName(String name){//设置姓名 this.name=name; } public String getName(){//取得姓名 return name; } public void setAge(int age){//设置年龄 if(age>=0){ this.age=age; }else{ this.age=0; } } public int getAge(){//取得年龄 return age; } public void tell(){ System.out.println("姓名:"+getName()+",年龄:"+getAge()); } }; public class fengzhuang{ public static void main(String args[]) { Person per = new Person();//声明并实例化对象 per.setName("张三");//赋值 per.setAge(30);//赋值 per.tell(); Person per2= new Person();//声明并实例化对象 per2.setName("李四");//赋值 per2.setAge(-30);//赋值 per2.tell(); } };
定义一个Person类,若想给类中的属性赋值,则必须通过setName()和getName()方法来给类中的属性赋值。
时间: 2024-10-11 13:49:55