码迷,mamicode.com
首页 > 编程语言 > 详细

java面向对象基础 封装性

时间:2015-06-16 19:23:10      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:java面向对象基础   封装性   

对于刚学习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()方法来给类中的属性赋值。

java面向对象基础 封装性

标签:java面向对象基础   封装性   

原文地址:http://blog.csdn.net/u013238646/article/details/46520479

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!