封装的概念是什么?
封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
1、封装的作用
面向对象的封装性的主要作用是解决程序的可扩展性。可以在不影响其他部分的情况下修改或者被封装的部分达到对整个程序的扩展。
2、怎么样去封装
一般使用类进行封装,在类中将属性用private修饰,使这些属性对其他类不可见。例:
class Person{
private String name;
private int age;
public void tell(){
System.out.println("姓名:"+name+" 年龄:"+age);
}
}
这些属性在类内部被访问时,需要使用this关键字。对属性进行封装后,其他类就无法访问这些属性。所以需要实现该属性的get和set方法,使得它们能被外部访问。
public void setName(String name){
this.name = name; //使用this关键字进行访问
}
public String getName(){
return name;
}
那么这种set/get方法是不是破坏了封装性呢?
不是。set/get方法是封装性的一种体现。将属性私有化,提供公有方法来访问和设置属性,并且可以在get和set方法中设置条件来达到控制属性的目的,防止属性被赋予一些非法值。
在设置了set/get方法后,类中的方法也要通过调用set/get方法来设置/得到属性值。
public void tell(){
System.out.println("姓名:"+getName()+“年龄:”+getAge());
}
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有