面向对象——封装性

来源:互联网 发布:java 解析swf 编辑:程序博客网 时间:2024/06/08 04:20

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());}