面向对象之封装
封装的两层含义
- 对功能的封装:比如我们的方法,方法就是一个功能的实现.
- 对数据的封装:属性(比如手机的价格,屏幕等等)
封装的表现
封装的好处
- 1.提高代码的复用性.
- 2.隐藏实现细节,对外提供可以访问的方法.便于使用者去使用,这是核心之一,也就是理解为封装的概念.
- 3.提高了安全性.
举例
public class Person{
String name;
int age;
public void eat(){
System.out.println(name + "在吃饭");
}
}
public class PersonDemo{
public static void main(){
Person person = new Person();
person.name="人妖";
person.age = "18";
p.eat();
}
}
- 通过上述的代码,我们用Java代码把Person描述清楚了,但是有一个很严重的问题,就会Person中的属性是可以直接访问的.这样不安全.
- 怎么才能不让直接访问呢?
- 需要使用Java中的一个关键字private(私有,权限修饰符).只要将Person的属性和行为私有化起来,这样就无法直接访问,
私有化属性
public class Person{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void eat(){
System.out.println(name + "在吃饭");
}
}
public class PersonDemo{
public static void main(String[] args){
Person person = new Person();
person.setName("小则");
}
}
总结
- 1.类中不需要对外提供的内容都私有化,包括属性和方法,
- 2.以后再描述事务,属性都私有化,并提供setXxx ,getXxx方法对其进行访问,
- 3.**注意:**私有仅仅是封装的体现形式而已.